我对MVC框架中的html助手有一些问题 ASP.NET。 所以...
- 我可以覆盖像
@Html.HiddenFor
这样的内置助手吗? - 我应该
override
,还是创建一个CustomHiddenFor
? -
在创建
Custom
时,如何从ModelMetaData
更改值,然后调用内置助手?例如:public static MvcHtmlString HiddenSecuredFor<TModel, TProperty> (this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, object htmlAttributes,bool secured) { ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData); var name = ExpressionHelper.GetExpressionText(expression); if (!secured) { return htmlHelper.HiddenFor(expression,htmlAttributes); } // Here I want to change the value // from the TModel lets say the property is x => x.Name // And I want to make the Name = "Mr. " + Name // Call the inbuild helper with the expression value changes. return htmlHelper.HiddenFor(expression, htmlAttributes); }
- 是 - 如何覆盖 @Html.LabelFor 模板?
- 这取决于 - 如果您要添加始终需要的功能,并且希望其他开发人员在不必了解的情况下使用,则覆盖是一个不错的选择。否则,创建一个调用原始的自定义是一个好方法。