c# - एएसपी.नेट एमवीसी 3 में क्षेत्रों को कैसे कॉन्फ़िगर करें




asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-areas (4)

आपके पास रूट और क्षेत्र में एक ही नियंत्रक का नाम हो सकता है, आपको बस इसे परिभाषित करना होगा।

अपने global.asax में, नीचे दिखाए गए मार्गों। Maproute की अंतिम पंक्ति जोड़ें

 routes.MapRoute(
      "Default", // Route name
       "{controller}/{action}/{id}", // URL with parameters
       new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults
       new[]{"YourNameSpace.Controllers"}
  );

भी, अपने ares / ????? AreaRegistration.cs फ़ाइल में नियंत्रक का नाम जोड़ें

 context.MapRoute(
        "Membership_default",
        "Membership/{controller}/{action}/{id}",
         new { controller= "Home", action = "Index", id = UrlParameter.Optional }
      );

क्या कोई जानता है कि ASP.NET MVC3 में क्षेत्रों को कॉन्फ़िगर कैसे करें। मैंने here क्षेत्रों के बारे में एक लेख पढ़ा। लेकिन वह लेख एमवीसी 3 पर आधारित नहीं है। MapRootArea में RouteCollection routes में RouteCollection routes नामक कोई फ़ंक्शन नहीं है जो MapRootArea में RouteCollection routes है

routes.MapRootArea("{controller}/{action}/{id}", 
                 "AreasDemo", 
                  new { controller = "Home", action = "Index", id = "" });

जब मैं AreaRegistration का उपयोग करके एक नया क्षेत्र बनाता हूं, तो मुझे उस क्षेत्र का एक वर्ग मिला जो एरिया AreaRegistration से विरासत में मिला और निम्न जैसा दिखता है: (यहां ब्लॉग क्षेत्र का नाम है)

public class BlogsAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "Blogs";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Blogs_default",
            "Blogs/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }
}

क्या कोई मेरी मदद करेगा कृपया मैं एमवीसी 3 में क्षेत्र को कैसे कॉन्फ़िगर करूँगा। किसी भी प्रकार का लिंक भी सहायक होगा।


अपने वेब प्रोजेक्ट पर राइट क्लिक करें और एड -> एरिया का चयन करें ... फिर क्षेत्र का नाम टाइप करें और विजुअल स्टूडियो बाकी सभी आवश्यक वर्गों को उत्पन्न करने के लिए बाकी की देखभाल करेगा। उदाहरण के लिए क्षेत्र पंजीकरण इस तरह दिख सकता है:

public class AreasDemoAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "AreasDemo";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "AreasDemo_default",
            "AreasDemo/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }
}

और आपके Global.asax Application_Start में आपको केवल इतना ही चाहिए:

AreaRegistration.RegisterAllAreas();

कृपया नीचे दी गई छवियां दिखाती हैं कि एमवीसी में क्षेत्र को कॉन्फ़िगर कैसे करें।


जबकि AppDomains पर लुकास का सुझाव काम करेगा, वैकल्पिक रूप से आप जेनेरिक का उपयोग करके इस प्रभाव को बना सकते हैं, एक वर्ग के रूप में विभिन्न सामान्य प्रकार के तर्कों के साथ एक अलग वर्ग के रूप में व्यवहार किया जाता है, और इसलिए इसका अपना स्थिर क्षेत्र है।

public class SomeClass<T>
{
    public static string SomeField;
}

फिर:

SomeClass<int>.SomeField = "A";
SomeClass<string>.SomeField = "B";

Console.WriteLine(SomeClass<int>.SomeField);    // A
Console.WriteLine(SomeClass<string>.SomeField); // B

उदाहरण के लिए, SomeClass<int> लाइब्रेरी में सेट किया जाएगा, जबकि SomeClass<string> आपकी कॉपी होगी। निश्चित रूप से यह केवल तभी काम करेगा जब आप लाइब्रेरी को बदल सकते हैं, या लाइब्रेरी पहले से ही जेनेरिक का उपयोग करती है।







c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-areas