MVC TextBoxFor : 초기 대 업데이트 된 값
TextBoxFor
모델 :
문제 : ( "latitude2"로 위도를 설정 한 후 로 리디렉션 한 후 뷰는 예상되는 "위도"대신 "latitude2"를 표시합니다. . 설명 : 모델이있는 는 데이터를 경로 값으로 전달합니다. 그런 다음 기본 모델 바인더는이 값 ( "latitude2")으로
<code class="language-csharp">[HttpPost] public ActionResult SomeInformation() { var test1 = new DataSites { Latitude = "LATITUDE2" }; return RedirectToAction("Index", test1); } [HttpPost] public ActionResult Index(DataSites dataSiteList) { if (dataSiteList.Latitude != null) { var test = new DataSites { Latitude = "LATITUDE" }; return View(test); } return View(dataSiteList); }</code>
동작이 새 값 ( "Latitude")을 할당하려고 시도하더라도 기존 값은 우선합니다. .
솔루션 :<code class="language-csharp">@model miniproj2.Models.DataSites <p> @Html.TextBoxFor(x => x.Latitude) </p></code>
를 지우십시오 :
모델 바인딩 방지 :<code class="language-csharp">public class DataSites { public string Latitude { get; set; } }</code>
동작에서 직접 새 인스턴스를 초기화하여 모델 바인딩을 완전히 우회합니다.
/Home/SomeInformation
Index
의 데이터에 액세스 해야하는지 여부에 따라 다릅니다. 그렇지 않은 경우, 두 번째 솔루션 (모델 바인딩 방지)은 더 깨끗하고 효율적입니다. 그렇지 않으면 지우기가 필요합니다
위 내용은 MVC에서 리디렉션 후 'Latitude'대신 'Latitude2'가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!