2014-03-05 163 views
0

我想將屬性名稱作爲字符串傳遞給@HTML.Textboxfor()。我不能使用@HTML.Textbox。該代碼可能類似於@HTML.TextboxFor(model => model["PropertyName"])@HTML.TextboxFor("PropertyName")而不是@HTML.TextboxFor(model => model.PropertyName)。我不能使用@HTML.Textbox。請幫我解決這個問題。如何將屬性名稱作爲字符串傳遞給ASP.NET MVC中的@ HTML.TextboxFor()

+0

是否有任何理由,你需要這樣訪問它?模型用於強類型對象,屬性名稱,它們不是數組。只是試圖找出你想要解決什麼問題 – user3036342

+0

@ user3036342我有存儲在數據庫中的屬性名稱。我從數據庫中檢索所有屬性名稱,將它們放入一個viewbag中,然後循環它們以使用html助手在視圖上生成控件。在這裏我需要從viewbag指定屬性名稱。我曾與Html.textbox和Html.dropdownlist工作,但他們不正確。所以我必須找到一個方法來HTML.Textboxfor和html.dropdownlistfor。 –

+0

啊我明白了。你嘗試過:@ Html.TextBoxFor(model => model.PropertyName,new {id = model.PropertyID,Value = model.PropertyValue})?您檢索的屬性名稱應該以IEnumerable(包含控件的yourmodel)的形式進入,這是按照我的示例強類型化和可訪問的。那麼你不必怪異地引用它。或者可能會發布一些示例代碼,以便我可以更好地提供幫助 – user3036342

回答

2

您可以使用簡單的HTML文本控件

<input type="text" value="@Model.ProperyName" name="PropertyName" id="PropertyName"/> 
0

順便說一句。這也將存活屬性名稱重構:

<input type="text" value="@Html.ValueFor(m => m.PropertyName)" 
    name="@Html.NameFor(m => m.PropertyName)" /> 
相關問題