在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中文網其他相關文章!