2012-11-17 35 views
2

例如,在文本框的值被自動分配給Model.Text如何創建自定義強類型的HtmlHelper?使用</p> <pre><code>@Html.TextBoxFor(v => Model.Text); </code></pre> <p>和提交表單時

我想寫這樣一個自定義的HTML幫手。

我知道如何編寫這種擴展方法來顯示HTML,但如何編寫行爲來分配值Model.WhatEver

我想建立一個標籤雲,我認爲這是一個好主意,包括它像一個辦法:

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

的HTML,助手只是打印出來的HTML,但我該如何分配值到Model.SelectedTags

+0

想:什麼是v?爲什麼會在那裏? – deerchao

回答

0

看到這種方法定義:

public static MvcHtmlString TextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression); 

它是在靜態類只是普通的擴展方法返回MvcHtmlString。只需自己寫一個,然後通過web.config將其插入到視圖中。

<pages> 
    <namespaces> 
    <add namespace="NameSpaceWithYourClass" /> 

Remeber,這種方法必須採取this HtmlHelper<TModel>作爲擴展參數和 Expression<Func<TModel, TProperty>> expression作爲表達選擇屬性,你會被罰款。

順便說一句:我認爲你的需要會是更好的局部視圖,因爲HTML可能相當複雜。

+0

部分視圖聽起來不錯!非常感謝你。 – user1832348

相關問題