के बाद खो दिया है मैं दो सरल तरीके के साथ एक नियंत्रक है:Asp.Net MVC EditorTemplate मॉडल पोस्ट
UserController तरीके:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Details(string id)
{
User user = UserRepo.UserByID(id);
return View(user);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Details(User user)
{
return View(user);
}
तो फिर वहाँ विवरण प्रदर्शित करने के लिए एक साधारण दृश्य है:
<% using (Html.BeginForm("Details", "User", FormMethod.Post))
{%>
<fieldset>
<legend>Userinfo</legend>
<%= Html.EditorFor(m => m.Name, "LabelTextBoxValidation")%>
<%= Html.EditorFor(m => m.Email, "LabelTextBoxValidation")%>
<%= Html.EditorFor(m => m.Telephone, "LabelTextBoxValidation")%>
</fieldset>
<input type="submit" id="btnChange" value="Change" />
<% } %>
आप देख सकते हैं, मैं एक संपादक टेम्पलेट "LabelTextBoxValidation" का उपयोग करें:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
<%= Html.Label("") %>
<%= Html.TextBox(Model,Model)%>
<%= Html.ValidationMessage("")%>
उपयोगकर्ता जानकारी दिखा रहा है कोई समस्या नहीं है। दृश्य पूरी तरह से उपयोगकर्ता विवरण प्रस्तुत करता है। जब मैं फॉर्म जमा करता हूं, ऑब्जेक्ट उपयोगकर्ता खो जाता है। मैं पंक्ति पर डीबग किया "वापसी देखें (उपयोगकर्ता);" पोस्ट विवरण विधि में, उपयोगकर्ता ऑब्जेक्ट शून्य मूल्यों से भरा है। अगर मैं संपादक टेम्पलेट का उपयोग नहीं करता हूं, तो उपयोगकर्ता ऑब्जेक्ट सही डेटा से भरा हुआ है। तो संपादक टेम्पलेट के साथ कुछ गड़बड़ होनी चाहिए, लेकिन यह पता नहीं लगा सकता कि यह क्या है। सुझाव?
Firebug या फ़िडलर का उपयोग कर दोनों ही मामलों में सबमिट किए गए फ़ॉर्म की तुलना करें: यहाँ कोड है कि आप बाहर की मदद करनी चाहिए है। यह अलग होगा। उसे फिक्स करें। –