我试图实现一些相当简单的事情,但有一些与模型绑定的问题。词典<枚举,字符串>()不会绑定到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