MVC3 - HiddenFor字典中的值(MVC3 - HiddenFor Dictionar

2019-09-24 00:15发布

我叫周字典属性:

public IDictionary<DayOfWeek, Day> Week { get; private set; }

而且我想通过自己的价值观关闭以HiddenFor (天)

@Html.HiddenFor(x => x.Week.Values)

它必须是模型的属性,所以我不能做x.Week.Values.ToList();

我怎么会去通过字典中的值到Html.HiddenFor

Answer 1:

因为你用好了HiddenFor ,我会假设你需要重新绑定的形式后字典的值。 要绑定一个字典视图,你将需要做这样的事情:

@foreach (var key in Model.Week.Keys)
{
    Html.DisplayFor(model=>model.Week[key]);
}

在字典中的每个值将被赋予它自己隐藏的输入字段,名称属性: name="Week.{key here}

如果,另一方面,所有你需要做的就是在模型中的数据发送到客户端,这样就可以在JavaScript用它做什么,你可能想看看它写入页面JSON。

<script type="text/javascript">
@Html.Raw(Json.Encode(Model.Week))
</script>


Answer 2:

我会用:

@foreach (var key in Model.Week.Keys)
{
    @Html.HiddenFor(model=>model.Week[key]);
}

在HTML前的“@”似乎有必要对剃刀输出的隐藏字段。

它输出这样的事情每个键:

<input data-val="true" data-val-number="The field Int32 must be a number." 
   data-val-required="The Int32 field is required." id="Week_5_" name="Week[5]" 
   type="hidden" value="3">


文章来源: MVC3 - HiddenFor Dictionary Values