[英]asp.net mvc ListBoxFor - MultiSelectList does not apply the selected item
[英]How do I set the name attribute on a multiselect listbox generated using LIstBoxFor and MultiSelectList in Asp.net MVC 3?
以下是我目前在視圖中調用幫助程序的方法(使用Razor和C#):
@Html.ListBoxFor(m => m.Measures, new MultiSelectList(Model.Measures, "MsId"),
new Dictionary<string, object> { { "id", "measureId" } })
這可以很好地設置表單元素中的“id”但是當我嘗試做這樣的事情時:
@Html.ListBoxFor(m => m.Measures, new MultiSelectList(Model.Measures, "MsId"),
new Dictionary<string, object> { { "id", "measureId" }, { "name", "measureId" } })
生成的源代碼仍然是:
<select id="measureId" multiple="multiple" name="Measures">
任何幫助將不勝感激。
該名稱是從傳遞的Expression<Func<TModel, TProperty>>
參數生成的。 傳遞的屬性的名稱是使用的,因此在您的情況下m => m.Measures
使用名稱Measures
。 這是為了在表單發布到操作時啟用模型綁定。
您可以通過將屬性名稱更改為MeasuresId來更改名稱值,或者如果不可能,則可以使用非類型版本
@Html.ListBox("measureId", new MultiSelectList(Model.Measures, "MsId"));
傳入:
new { name= "yourname"}
對於ListBoxFor的重載中的html屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.