Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <typeparam name="TProperty"></typeparam>
        /// <param name="htmlHelper"></param>
        /// <param name="expression"></param>
        /// <param name="htmlAttributes"></param>
        /// <returns></returns>
        public static string DatePickerFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object htmlAttributes) where TModel : class
        {
            if (typeof(TProperty) != typeof(DateTime) && typeof(TProperty) != typeof(DateTime?))
            {
                throw new InvalidOperationException("Property type must be DateTime or DateTime?");
            }


            string    inputName   = GetInputName <TModel, TProperty>(expression);
            TProperty local       = HtmlHelperExtensions.GetValue <TModel, TProperty>(htmlHelper, expression);
            string    localString = "";

            if (!string.IsNullOrEmpty(local.ToString()))
            {
                localString = DateTime.Parse(local.ToString()).ToString("yyyy-MM-dd");
            }
            return(htmlHelper.TextBox(inputName, localString, htmlAttributes) +
                   "<script type=\"text/javascript\">dateTimePickers['" + inputName + "'] = false;</script>");
        }