1
컨트롤러가 1로 설정하는 Model 속성이 있지만 내보기에서 액세스하는 방법에 따라 0과 1로 표시됩니다.MVC4 뷰 모델 int 속성은 1이지만 HTML은 0으로 렌더링됩니까?
보기 조각은 (이 라인이 너무 절대적으로 연속입니다!)
@Html.DisplayFor(model => model.resumeStage)
@Html.HiddenFor(model => model.resumeStage)
@Html.EditorFor(model => model.resumeStage)
렌더링 된 HTML
1
<input value="0" data-val="true" data-val-number="The field resumeStage must be a number." data-val-required="The resumeStage field is required." id="resumeStage" name="resumeStage" type="hidden" />
<input value="0" class="text-box single-line" id="resumeStage" name="resumeStage" type="number" />
해서는 안 값 (I 가독성에 대한 태그의 전면에 value=
이동) 항상 1일까요? 나는 그것을 텍스트 상자 안에 넣을 때 그 속성의 상태를 잃어 버리는 것처럼 보인다! 뷰 - 제어기 강한
public class CreateUserModel
{
[Required]
public int resumeStage { get; set; } // <== problem
public LocalProfile newLocalUser { get; set; }
public ExtProfile newExtUser { get; set; }
public CreateUserModel()
{
resumeStage = 0;
newLocalUser = new LocalProfile();
newExtUser = new ExtProfile();
preFillWithTestData();
}
private void preFillWithTestData()
{
// prefill the newLocalUser
// and newExtUser classes with dummy data
}
}
(I 0 => (1)로부터 INT 플립) 폼 POST를 수신하는 제어기 수단으로 정의 된 모델 클래스에 의해 구속되는 것은 :
[HttpPost]
public ActionResult UserRegistration(CreateUserModel newUser)
{
try
{
//stage 0, setup local account
if (newUser.resumeStage <= 0)
{
// do stuff
newUser.resumeStage = 1;
}
// stage 1, setup external account
if (newUser.resumeStage <= 1)
{
// test an exception
Exception ex = new Exception("TEST: External service provider offline");
throw ex;
newUser.resumeStage = 2;
}
return RedirectToAction("Index");
}
catch (Exception ex)
{
return View(newUser); // newUser.resumeStage is 1 here but
// view will disagree
}
}
양식을 작성하고 제시 컨트롤러 방법은 다음과 같습니다
public ActionResult UserRegistration()
{
// Constructor prefills with test data, nothing more to do
CreateUserModel newUser = new CreateUserModel();
return View(newUser);
}
질문 : 나는 resumeStage가로 표시 갖고있는 것 같다 수없는 이유 사람이 알고 있나요 1 HTML 렌더링 된 텍스트 상자 안에?
에 대한 호출을 추가해야합니다. 왜 그게 필요한가요? 임의의 해결 방법처럼 보입니다 ... – DeepSpace101
http://stackoverflow.com/questions/1775170/asp-net-mvc-modelstate-clear에서 이유를 찾았습니다 ... 아주 이상한 MVC 동작입니다! – DeepSpace101