내 첫 번째 ASP.NET MVC 프로젝트에서 작업 중이며 편집에서 데이터를 반환 할 때 이상한 동작이 나타납니다. 내 컨트롤러 동작보기.ASP.NET MVC1 - 모델 (NOOB 질문)에 반환되는 모든 요청 필드가 없습니다. (NOOB 질문)
지금은 페이지에 3 개의 텍스트 상자와 PKey에 대해 하나의 숨겨진 텍스트 상자가 있습니다. 모두가 올바르게 viewdata에서 채워지지만, 양식을 제출하면 리턴 된 모델에 3 개의 필드 중 2 개만 표시됩니다. 그러나 세 개의 필드는 모두 요청 개체에 올바르게 채워집니다. 여기에보기 자체의 '고기'를 것
public ActionResult Edit(System.Guid Id)
{
SetBase sb = setBaseRepository.Get(Id);
return View("Edit", sb);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(SetBase setBase)
{
//if (setBase.Title.Trim().Length == 0)
//{
// ModelState.AddModelError("Title", "Title is required.");
//}
if (setBase.Year.Trim().Length == 0)
{
ModelState.AddModelError("Year", "Year is required.");
}
if (!ModelState.IsValid)
{
return View("Edit", setBase);
}
setBaseRepository.SaveOrUpdate(setBase);
return View();
}
을 그리고 :
아마 아주 잘 설명하지만, 여기에 몇 가지 관련 코드가 잘하면 더 나은 설명 자르는의 아니에요
<viewdata model="CardTracker.Core.SetBase">
<content name="MainContent">
<% MvcForm form = Html.BeginForm("Edit", "SetBase", Model.Id); %>
<%=Html.ValidationSummary("Update was unsuccessful. Please correct the errors and try again.", new { class = "dataEntryError" })%>
<fieldset>
<legend class="dataEntry">Edit Set Base</legend>
<div>
!{Html.Hidden("Id")}
<label class="dataEntry" for="Title" >Title: </label> ${Html.TextBox("Title", Model.Title, new { class = "dataEntryLong" })}
<%=Html.ValidationMessage("Title", "***", new { class = "dataEntryError" })%>
</br>
<label class="dataEntry" for="Year">Year:</label>${Html.TextBox("Year", null, new { class = "dataEntryNumber" })}
<%=Html.ValidationMessage("Year", "***", new { class = "dataEntryError" })%>
</br>
</div>
<input type="submit" value="Update" class="button" />
</fieldset>
<% form.EndForm(); %>
</content>
'Id'와 'Year'필드는 정상적으로 반환되지만 'Title'은 항상 비어있게됩니다. 나는 그 모든 것이 정확히 어디에서나 철자가 맞는지 확인했다.
내가 분명히 잘못된 것을하고 있다고 확신하지만 나는 그것을 보지 못합니다. 내가 연구 한 수많은 예제는 도움이되지 않으며 대부분 편집 대신 기능 추가를 보여줍니다.
미리 도움을 청하십시오.
3 개의 입력란을 언급했지만 숨겨진 입력란이 2 개인 경우가 2 개뿐입니다. –
예, 코드를 짧게 유지하기 위해 이름에서 제외하고 '연도'와 사실상 동일한 추가 숫자 필드를 삭제했습니다. 그것이 존재하든 그렇지 않든 행동에 영향을주지 않습니다. –