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>
이 구문은 각 입력 필드의 이름 속성 구조가 모델 바인딩에 사용되는 인덱서 구문과 일치하는 "Params[key]"인지 확인합니다.
ASP.NET MVC 4에서 기본 모델 바인더는 일반적인 사전 인덱서 구문(속성[키])을 사용하여 사전을 바인딩합니다. 따라서 다음 태그는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!