Das ist ein wirklich seltsames Verhalten, und ich habe einen Demo-Code eingerichtet, um herauszufinden, was los ist.MVC2 TextBoxFür einen Wert, der nach dem Senden nicht aktualisiert wird?
Grundsätzlich haben Sie eine zwei Aktionen und eine einzige Ansicht. Die erste Aktion sendet ein leeres Modell an die Ansicht, die Abschnittsaktion empfängt das Modell, ändert den Inhalt und sendet es an die gleiche Ansicht zurück.
Die Gewissheit ist, in der Ansicht, das Modell scheint die aktualisierten Werte in ihm zu haben, aber wenn ich eine Html.TextBoxFor (x => x.PropertyNameHere) macht es ein Textfeld mit dem unveränderten Wert darin gerendert.
lol ... Ich entschuldige mich im Voraus für den Toiletten-Humor, aber es hält den Tag davon ab, zu langweilig. ;)
Hat jemand eine Idee, was hier vor sich geht? Warum gibt die Ausgabe von TextBoxFor den alten Wert in das Wertattribut ein?
Hier ist der Code zu replizieren:
/Views/Demo/Index.aspx
namespace TestWeb {
public class DemoModel {
public string Foo { get; set; }
public int Bar { get; set; }
public string PoopSmith { get; set; }
}
}
public class AdminController : Controller {
public ActionResult Index() {
var m = new DemoModel();
return View(m);
}
public ActionResult DemoSubmit(DemoModel demo) {
demo.Foo += "!!!";
demo.Bar++;
demo.PoopSmith += " has pooped.";
return View("Index", demo);
}
}
DemoController.cs
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<TestWeb.DemoModel>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Demo</title>
</head>
<body>
<div>
<%using (Html.BeginForm("DemoSubmit", "Admin", FormMethod.Post)) { %>
Foo: <%=Html.TextBoxFor(x => x.Foo)%> <%:Model.Foo %><br />
Bar: <%=Html.TextBoxFor(x => x.Bar) %> <%:Model.Bar %><br />
PoopSmith: <%=Html.TextBoxFor(x => x.PoopSmith) %> <%:Model.PoopSmith %><br />
<button type="submit">Submit</button>
<%} %>
</div>
</body>
</html>
DemoModel.cs Und h ere ist die bizarre Ausgabe:
Bizarre http://i47.tinypic.com/308cwvb.png
+1 LOL! Ihre Suchfähigkeiten sind meiner überlegen! Das macht Sinn, danke für die Antwort. –