我想要自定义 Html.DateTimePickerFor(a => a.Fields[0].Id, value)
所以结果应该是这样的:
<div name="Fields[0].Id"></div>
目前我使用 Html.DatetimePicker("Fields[0].Id", value)
并且它工作得很好,但我想生成动态名称。
那么问题是如何设置正确的"name"
属性?
最佳答案
试试这个。它对我有用。
public static MvcHtmlString DateTimePickerFor<TModel, TProp>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProp>> expression, object htmlAttributes)
{
string name = ExpressionHelper.GetExpressionText(expression);
... rest of code here
}
魔法来自 System.Web.Mvc.ExpressionHelper.GetExpressionText()
。从表达式中获得名称后,您可以将其应用于您的 div。
关于c# - 如何编写像 Html.TextBoxFor 这样的自定义 ASP.NET MVC HTML Helper 并设置正确的名称属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13994253/