तो मैं निम्नलिखित दृढ़ता से टाइप दृश्य है:ASP.NET MVC 2 - सार मॉडल के लिए बाध्य
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<XXX.DomainModel.Core.Locations.Location>" %>
कहाँ स्थान एक अमूर्त वर्ग है।
और मैं निम्नलिखित नियंत्रक है, जो एक पोस्ट के माध्यम से एक जोरदार टाइप मॉडल स्वीकार करता है:
[HttpPost]
public ActionResult Index(Location model)
मैं बताते हुए एक रनटाइम त्रुटि मिलती है "नहीं बना सकते सार कक्षा
कौन सा की पाठ्यक्रम समझ में आता है। हालांकि - मुझे यकीन नहीं है कि सबसे अच्छा समाधान क्या है।
मेरे पास कई ठोस प्रकार हैं (लगभग 8), और यह एक दृश्य है जहां आप सी अमूर्त वर्ग का एकमात्र संपादन गुण।
मेरे पास ने को सभी अलग-अलग ठोस प्रकारों के लिए ओवरलोड बनाने की कोशिश की है, और एक सामान्य विधि में अपना तर्क निष्पादित किया है।
[HttpPost]
public ActionResult Index(City model)
{
UpdateLocationModel(model);
return View(model);
}
[HttpPost]
public ActionResult Index(State model)
{
UpdateLocationModel(model);
return View(model);
}
आदि आदि
और फिर:
[NonAction]
private void UpdateLocationModel (Location model)
{
// ..snip - update model
}
लेकिन यह या तो, MVC शिकायत कार्रवाई तरीकों अस्पष्ट हैं (यह भी समझ में आता है) काम नहीं करता।
हम क्या करते हैं? क्या हम बस एक अमूर्त मॉडल से बंधे नहीं जा सकते?
अच्छा प्रश्न है। जवाब देखने में रूचि! –
मुझे उत्सुकता है यदि आपको कभी इसे संभालने का बेहतर तरीका मिल गया है? –
@ मिस्टर मैन - नहीं। मुझे इसे फिर से नहीं करना पड़ा। अगर मैंने किया, तो मैं वही करूँगा जो स्वीकार किए गए उत्तर से पता चलता है। – RPM1984