从model中为datepickerfor(model => model.date)创建自定义Html帮助器

cpo*_*ign 3 html-helper asp.net-mvc-2

我正在为我的datepicker创建自定义html帮助器.
我想传递内部模式,因为它是TextBoxFor(model => model.name)

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

  1. 该字段的名称
  2. 该领域的价值

我创造了

public static string DatePickerFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel, TProperty>> expression){

//return object.name
var expressionText = ExpressionHelper.GetExpressionText(expression);


}
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 9

  1. 该字段的名称

    string fullHtmlFieldName = htmlHelper
        .ViewContext
        .ViewData
        .TemplateInfo
        .GetFullHtmlFieldName(
            ExpressionHelper.GetExpressionText(expression)
        );
    
    Run Code Online (Sandbox Code Playgroud)
  2. 该领域的价值

    var metaData = ModelMetadata.FromLambdaExpression(
        expression, htmlHelper.ViewData
    );
    object value = metaData.Model; // will be of type TProperty
    
    Run Code Online (Sandbox Code Playgroud)