【发布时间】:2011-03-23 12:46:09
【问题描述】:
我正在尝试实现一些相当简单的事情,但模型绑定存在一些问题。
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
...
...
}
如您所见,'viewModel.Columns' 属性在 POST 操作中为空。
我在这里错过了什么?
关于结果,应该如下所示:
// pseudocode
Columns[0] = Key=Column1, Value="text1Value";
Columns[1] = Key=Column2, Value="text2Value";
...
我知道视图中一定有类似Columns[0].Key = Column1; Column[0].Value = "text1Value" 的东西,但我不确定。
非常感谢你们!
【问题讨论】:
标签: asp.net-mvc viewmodel