首页 > 后端开发 > C++ > 如何在 ASP.NET MVC 中正确绑定字典?

如何在 ASP.NET MVC 中正确绑定字典?

Linda Hamilton
发布: 2025-01-10 07:20:43
原创
432 人浏览过

How to Properly Bind Dictionaries in ASP.NET MVC?

在ASP.NET MVC中绑定字典值通常很简单,但需要遵循特定的语法约定才能成功绑定。

模型绑定

在模型类中,应定义字典属性并用值初始化它:

<code class="language-csharp">public class MyModel
{
    public Dictionary<string, string> Params { get; set; }

    public MyModel()
    {
        Params = new Dictionary<string, string>();
        Params.Add("Value1", "1");
        Params.Add("Value2", "2");
        Params.Add("Value3", "3");
    }
}</code>
登录后复制

视图标记

在视图中,使用以下语法绑定到字典键和值:

<code class="language-html">@foreach (KeyValuePair<string, string> kvp in Model.Params)
{ 
    <tr><td>
            @Html.TextBox("Params[" + kvp.Key + "]")
        </td>
    </tr>
}</code>
登录后复制

此语法确保每个输入字段的name属性结构为“Params[key]”,与模型绑定中使用的索引器语法匹配。

绑定字典键和值

在ASP.NET MVC 4中,默认模型绑定器使用典型的字典索引器语法(property[key])绑定字典。因此,以下标记将成功绑定到Dictionary<string, string>

<code class="language-html">@foreach (var kvp in Model.MyDictionary) {
    <input type="checkbox" name="@string.Format("MyDictionary[{0}]", kvp.Key)" checked="@kvp.Value" />
}</code>
登录后复制

这允许您将复选框绑定到字典元素。 请注意,checked="@kvp.Value" 假设 kvp.Value 是一个布尔值。 如果 kvp.Value 是字符串,需要根据实际情况调整此部分代码,例如使用 checked="@(kvp.Value == "true")"

以上是如何在 ASP.NET MVC 中正确绑定字典?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板