例如使用
时@Html.TextBoxFor(v => Model.Text);
并提交表单后,TextBox中的值会自动分配给Model.Text
。
我想编写这样一个自定义HTML帮助器。
我知道如何编写这样的扩展方法来显示HTML,但是如何编写行为来分配值Model.WhatEver
。
我想构建一个Tag-Cloud,我认为以这样的方式包含它是个好主意:
@Html.TagCloud(v => Model.SelectedTags, Model.AvailableTags)
HTML-Helper只打印出HTML,但如何为Model.SelectedTags
分配值?
答案 0 :(得分:0)
了解如何定义此方法:
public static MvcHtmlString TextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression);
它只是返回MvcHtmlString
的静态类中的通用扩展方法。只需自己编写一个,然后通过web.config将其插入视图。
<pages>
<namespaces>
<add namespace="NameSpaceWithYourClass" />
请记住,此方法必须将this HtmlHelper<TModel>
作为扩展参数并使用
Expression<Func<TModel, TProperty>> expression
作为选择属性的表达式,你会没事的。