Asp.net mvc 2 从模型为datepickerfor(model=>;model.date)创建自定义Html帮助程序

Asp.net mvc 2 从模型为datepickerfor(model=>;model.date)创建自定义Html帮助程序,asp.net-mvc-2,html-helper,Asp.net Mvc 2,Html Helper,我正在为我的日期选择器创建自定义html帮助程序。 我希望传递内部模式,就像传递TextBoxFor(model=>model.name)一样 所以我需要的是,但我不知道怎么做 字段名称 字段的值 我创造了 public static string DatePickerFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel, TProperty>&g

我正在为我的日期选择器创建自定义html帮助程序。
我希望传递内部模式,就像传递TextBoxFor(model=>model.name)一样

所以我需要的是,但我不知道怎么做

  • 字段名称
  • 字段的值
  • 我创造了

    public static string DatePickerFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel, TProperty>> expression){
    
    //return object.name
    var expressionText = ExpressionHelper.GetExpressionText(expression);
    
    
    }
    
    公共静态字符串DatePickerFor(此HtmlHelper HtmlHelper,表达式){
    //返回object.name
    var expressionText=ExpressionHelper.GetExpressionText(表达式);
    }
    
  • 字段名称

    string fullHtmlFieldName = htmlHelper
        .ViewContext
        .ViewData
        .TemplateInfo
        .GetFullHtmlFieldName(
            ExpressionHelper.GetExpressionText(expression)
        );
    
    var metaData = ModelMetadata.FromLambdaExpression(
        expression, htmlHelper.ViewData
    );
    object value = metaData.Model; // will be of type TProperty
    
  • 字段的值

    string fullHtmlFieldName = htmlHelper
        .ViewContext
        .ViewData
        .TemplateInfo
        .GetFullHtmlFieldName(
            ExpressionHelper.GetExpressionText(expression)
        );
    
    var metaData = ModelMetadata.FromLambdaExpression(
        expression, htmlHelper.ViewData
    );
    object value = metaData.Model; // will be of type TProperty
    

  • @尼克拉森,是的,有。还有。谢谢你,这正是我一直在寻找的(很抱歉不能更早地测试它…太多了)Pav@Pavel,我很高兴能帮上忙。我最好带上你的icq/twitter/im,这样我就可以直接问:D@Pavel,你可以随时通过电子邮件联系我。