3

例如,当使用

@Html.TextBoxFor(v => Model.Text);

并提交表单,TextBox 中的值会自动分配给Model.Text.

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

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

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

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

HTML-Helper 只是打印出 HTML,但我怎样才能将值分配给Model.SelectedTags?

4

1 回答 1

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选择属性的表达式,你会没事的。

顺便说一句:我认为您需要更好的局部视图,因为它的 HTML 可能非常复杂。

于 2012-11-17T18:51:32.270 回答