Html.EditorFor()에서 예기치 않은 동작이 발생합니다.ASP.NET MVC 2에서 예기치 않은 Html.EditorFor 동작
나는이 컨트롤러가 :
[HandleError]
public class HomeController : Controller
{
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Lister()
{
string[] values = { "Hello", "world", "!!!" };
return View(values);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Lister(string[] values)
{
string[] newValues = { "Some", "other", "values" };
return View(newValues);
}
}
을 그리고 이것은이 두 가지 작동하기위한 것입니다 내보기입니다 :
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<string[]>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Lister
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Lister</h2>
<% using (Html.BeginForm()) { %>
<% foreach (string value in Model) { %>
<%= value %><br />
<% } %>
<%= Html.EditorForModel() %>
<input type="submit" value="Append Dashes" />
<% } %>
</asp:Content>
그리고 을 문제가 있음을 다시 게시물이 이루어질 때 보기에서 올바른 동작을 수행하지만 foreach
루프가 새 값을 출력하는 동안 텍스트 상자는 원래 hello world 데이터를 계속 표시합니다. ASP.NET에서 무언가가 내 모델 값을 텍스트 상자 업데이트에서 무시하는 것처럼 느껴지고 이전의 동일한 값만 표시됩니다.
IEnumerable로 EditorFor를 배우려고 할 때이 문제점을 발견했습니다.
글쎄, 내 목적을 위해 조금 짜증나는 그게 전부는 당신이 그것에 대해 문서로 링크를하는 일이 무엇입니까? –
이것이 문서화 된 동작인지 확실하지 않습니다. 필자가 제공 한 두 번째 링크는 필 하크 (Phil Haack)의 대답으로 충분하다. –