जैसा कि मैं स्वयं को एएसपी.नेट एमवीसी के साथ परिचित करता हूं, मैं एमवीसी 2 का उपयोग कर रहा हूं, मैंने किग परियोजना में बेसव्यूडेटा क्लास का उपयोग देखा है, जो मुझे यकीन है कि कैसे लागू।Asp.net एमवीसी 2 में बेस व्यू मॉडेल का उपयोग कैसे करें
मैं अपने प्रत्येक व्यू मॉडल्स को कुछ निश्चित मान उपलब्ध करना चाहता हूं। एक इयरफेस का उपयोग करना दिमाग में आता है लेकिन मैं सोच रहा हूं कि सबसे अच्छा अभ्यास क्या है और किग इसे कैसे करता है?
Kigg
public abstract class BaseViewData
{
public string SiteTitle { get; set; }
// ...other properties
}
public class UserListViewData : BaseViewData
{
public string Title { get; set; }
// .. other stuff
}
मेरी WebForms आवेदन में मैं एक BasePage कि System.Web.UI.Page से विरासत का उपयोग करें।
तो, मेरी MVC परियोजना में, मैं इस है:
public abstract class BaseViewModel
{
public int SiteId { get; set; }
}
public class UserViewModel : BaseViewModel
{
// Some arbitrary ViewModel
}
public abstract class BaseController : Controller
{
private IUserRepository _userRepository;
protected BaseController()
: this(
new UserRepository())
{
}
}
Kigg कार्यप्रणाली संदर्भित, कैसे मुझे यकीन है कि कि BaseViewModel से विरासत मेरी ViewModel से प्रत्येक SiteId संपत्ति है कर सकता हूँ?
सबसे अच्छा अभ्यास, नमूने या पैटर्न क्या उपयोग करना चाहिए?
आप इस तरह इसका इस्तेमाल करने के लिए फिल्टर संदर्भ कास्ट करने के लिए होगा: '((ViewResult) filterContext.Result) .ViewData.Model' – ajbeaven
मेरे कोड को देखते हुए, मैं वास्तव में एक स्थानीय चर में परिणाम को बचाने के 'as' का उपयोग करके ViewResult को कास्टिंग, फिर शून्य के लिए जांचें। – tvanfosson