我試圖實現一些相當簡單的事情,但有一些與模型綁定的問題。詞典<枚舉,字符串>()不會綁定到mvc模型
public enum ColumnType
{
Column1 = 1,
Column2 = 2,
Column3 = 3,
Column4 = 4,
Column5 = 5,
Column6 = 6,
Column7 = 7,
Column8 = 8,
Column9 = 9
}
而且在我的ViewModel我有型詞典的屬性格式如下:
public class PageViewModel {
public IDictionary<ColumnType, string> Columns { get; set; }
}
以下是我的觀點看起來像:
<tr>
<% foreach (var value in Enum.GetValues(typeof(ColumnType)))
{
%>
<%: Html.TextBox(String.Format("Columns[ColumnType.{0}]", value.ToString()))%>
<%
}
%>
</tr>
我上面張貼以下POST方法:
[POST]
public ActionResult Index(PageViewModel viewModel)
{
var isNull = viewModel.Columns; //The model won't bind and 'isNull' is 'null' in here
...
...
}
如您所見,POST操作中的'viewModel.Columns'屬性爲null。
我在這裏錯過了什麼?
關於結果,它應該看起來像以下:
// pseudocode
Columns[0] = Key=Column1, Value="text1Value";
Columns[1] = Key=Column2, Value="text2Value";
...
我知道一定是有什麼樣Columns[0].Key = Column1; Column[0].Value = "text1Value"
視圖裏面,但我不知道。
非常感謝你們!
你擊中了腦袋上的指甲!這工作!太感謝了 !!! – Gurdeep 2011-03-23 13:33:58