यह वास्तव में एक अजीब व्यवहार है, और मैंने यह पता लगाने के लिए कुछ डेमो कोड सेट अप किया है कि क्या हो रहा है।MVC2 TextBoxFor सबमिट सबमिट करने के बाद अपडेट नहीं हो रहा है?
असल में दो कार्य और एक दृश्य है। पहली कार्रवाई दृश्य में एक खाली मॉडल भेजती है, अनुभाग कार्रवाई मॉडल प्राप्त करती है, इसकी सामग्री बदलती है और इसे उसी दृश्य में वापस भेजती है।
विचलन, दृश्य में है, मॉडल में इसमें अद्यतन मान हैं, लेकिन जब मैं एक HTML करता हूं। टेक्स्टबॉक्स फोर (x => x.PropertyNameHere) यह उसमें अनलर्टेड मान वाला टेक्स्टबॉक्स प्रस्तुत करता है।
लॉल ... मैं शौचालय हास्य के लिए पहले से माफ़ी मांगता हूं, लेकिन यह दिन को बहुत उबाऊ होने से रोकता है। ;)
क्या किसी को पता है कि यहां क्या हो रहा है? टेक्स्टबॉक्स का आउटपुट मूल्य मान में पुराना मान डालने के लिए क्यों है?
/Views/Demo/Index.aspx
<%@ 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
namespace TestWeb {
public class DemoModel {
public string Foo { get; set; }
public int Bar { get; set; }
public string PoopSmith { get; set; }
}
}
DemoController.cs
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);
}
}
:
यहाँ दोहराने के लिए कोड है और वह पहले विचित्र उत्पादन है:
Bizarre http://i47.tinypic.com/308cwvb.png
+1 एलओएल! आपके खोज कौशल मेरे से बेहतर हैं! यह समझ में आता है, उत्तर के लिए धन्यवाद। –