/ / Konfigurieren von Bereichen in ASP.NET MVC3 - c #, asp.net, asp.net-mvc, asp.net-mvc-3, asp.net-mvc-areas

So konfigurieren Sie Bereiche in ASP.NET MVC3 - ASP.NET, asp.net-mvc, asp.net-mvc-3, asp.net-mvc-Bereiche

Kann jeder Bereiche in ASP.NET MVC3 konfigurieren? Ich habe einen Artikel über Bereiche in gelesen Hier. Dieser Artikel basiert jedoch nicht auf MVC3. In MVC3 gibt es keine Funktion MapRootArea im RouteCollection routes welches in Global.asax gefunden wird

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

Wenn ich mit MVC3 einen neuen Bereich erstelle, habe ich eine Klasse dieses Bereichs erhalten, die von geerbt wurde AreaRegistration und wie folgt aussehen: (hier ist Blogs der Name des Bereichs)

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 }
);
}
}

Kann mir bitte jemand helfen, wie ich den Bereich in MVC3 konfiguriere. Jede Art von Link wäre auch hilfreich.

Antworten:

40 für die Antwort № 1

Klicken Sie mit der rechten Maustaste auf Ihr Webprojekt und wählen Sie Hinzufügen ->Bereich ... Geben Sie dann den Namen des Bereichs ein, und Visual Studio kümmert sich um den Rest, der alle erforderlichen Klassen generiert. Die Bereichsregistrierung könnte beispielsweise so aussehen:

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 }
);
}
}

und in Application_Start von deinem Global.asax alles was Sie brauchen ist:

AreaRegistration.RegisterAllAreas();

5 für die Antwort № 2

Sie können im Stammverzeichnis und im Bereich denselben Controller-Namen haben, Sie müssen ihn nur definieren.

Fügen Sie in Ihrer global.asax die letzte Zeile der route.maproute wie unten gezeigt hinzu

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

Fügen Sie außerdem den Namen des Controllers in Ihre Datei ares / ????? AreaRegistration.cs

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

1 für die Antwort № 3

Unten finden Sie ein Bild, das zeigt, wie Sie einen Bereich in mvc konfigurieren.Bildbeschreibung hier eingeben