0
我在互联网上浏览过,但没有一个解决方案似乎适用于我。MVC 4绑定到字典
我有以下视图模型:
public class ConfigsViewModel
{
// iOS Dictionary
public Dictionary<string, object> IosDictionary { get; set; }
// Android Dictionary
public Dictionary<string, object> AndroidDictionary { get; set; }
}
在这些字典的值是布尔任一或字符串。我想显示一个像编辑视图一样的表格,并且我想要绑定这些字典。我的看法是这样的:
@model MobileRebrandingTool.Models.ViewModels.ConfigsViewModel
<div>
@using (Html.BeginForm("SaveAppConfig", "Project", "POST"))
{
<table class="config-table">
<tr>
<th></th>
<th>iOS</th>
<th>Android</th>
</tr>
@foreach (var kvp in Model.IosDictionary)
{
<tr>
<td>
@kvp.Key
</td>
<td>
@Html.EditorFor(model => model.IosDictionary[kvp.Key])
</td>
<td>
@if (Model.AndroidDictionary.ContainsKey(kvp.Key))
{
@Html.EditorFor(model => model.AndroidDictionary[kvp.Key])
}
</td>
</tr>
}
</table>
<input type="submit" value="Save"/>
}
</div>
的问题是,在SaveAppConfig行动,当我检查的模式,而不是一个字符串作为在键值字典中,值是一个字符串的数组(文本输入中的值)。 在字典中,我将bool和字符串作为值,所以我无法使用TextBoxFor。 有没有更好的方法来绑定字典?我应该写一个自定义联编程序?如果是这样,它应该是什么样子?
谢谢
科斯明
字典实现'IEnumerable>',所以你可以,实际上,它可以迭代它。此外,这将无法正常工作(好吧,它会似乎工作,直到你发布)。 –
Casey