Asp.net mvc 如何创建自定义强类型HtmlHelper?

Asp.net mvc 如何创建自定义强类型HtmlHelper?,asp.net-mvc,html-helper,htmlextensions,Asp.net Mvc,Html Helper,Htmlextensions,例如,当使用 @Html.TextBoxFor(v => Model.Text); 提交表单时,文本框中的值将自动分配给Model.Text 我想写这样一个自定义HTML助手 我知道如何编写这样一个显示HTML的扩展方法,但是如何编程行为来分配值Model.which 我想构建一个标签云,我认为以如下方式包含它是一个好主意: @Html.TagCloud(v => Model.SelectedTags, Model.AvailableTags) HTML帮助程序只是打印HTML,

例如,当使用

@Html.TextBoxFor(v => Model.Text);
提交表单时,文本框中的值将自动分配给
Model.Text

我想写这样一个自定义HTML助手

我知道如何编写这样一个显示HTML的扩展方法,但是如何编程行为来分配值
Model.which

我想构建一个标签云,我认为以如下方式包含它是一个好主意:

@Html.TagCloud(v => Model.SelectedTags, Model.AvailableTags)

HTML帮助程序只是打印HTML,但是如何为
模型赋值。SelectedTags

查看此方法的定义:

public static MvcHtmlString TextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression);
请记住,此方法必须将
此HtmlHelper
作为扩展参数,并且
Expression-Expression
作为选择属性的表达式,您就可以了


顺便说一句:我认为对于你的需要,最好是部分视图,因为HTML对于它来说可能相当复杂。

思考:v是什么?为什么会在那里?
<pages>
  <namespaces>
    <add namespace="NameSpaceWithYourClass" />