Dossier bin supprimé et également nettoyé et reconstruit plusieurs fois. Pour une raison quelconque, après avoir vérifié tous les fichiers requis où les routes sont configurées, je cours dans l'erreur de nommage, je l'ai changé et je l'ai manuplé au mieux, mais je suis bloqué. J'essaie d'apprendre asp.net, mais cette erreur m'a stupéfié.Une route nommée 'Billing_Default' est déjà dans la collection de routes. Les noms de route doivent être uniques. Nom du paramètre: nom
Ce système est un dossier, j'ai étendu les plus importants:
Project-
Reference-
Packages-
App_Start-
-RouteConfig.cs
-WebApiConfig.cs
Areas-
-Billing
-Invoice
Content-
Controllers-
Models-
Scripts-
Views-
Global.asax
Pacages.config
Web.config
Je dispose d'un fichier d'enregistrement dans chacune de mes zones.
Voici le code d'enregistrement de l'une des zones.
using System;
using System.Web.Mvc;
namespace WORK_GODDAMN.Areas.Billing
{
public class BillingAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Billing";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Billing_default",
"Billing/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}
Voici mon code Global.asax
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using System.Web.Http;
namespace WORK_GODDAMN
{
public class Global : HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
}
Voici mon code routeConfig
using System.Web.Mvc;
using System.Web.Routing;
namespace WORK_GODDAMN
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//AreaRegistration.RegisterAllAreas();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "Core.Controllers" }
);
}
}
}
code cshtml pour la page d'index qui devrait rediriger vers les zones prédéfinies.
<!DOCTYPE html>
<html>
@using System.Web.Optimization
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Scripts.Render("~/Scripts/modernizr.js")
</head>
<body>
<div>
<div>
<h2>{Demo}- Pluggable Modules</h2>
</div>
<div id="nav">
@Html.ActionLink("Home","Index","Home", new {Area=""}, null) |
@Html.ActionLink("Marketing","Index","Marketing", new {Area="Marketing"}, null) |
@Html.ActionLink("BillingMain", "Index", new { Area = "Billing" })
</div>
<hr />
<div>
@RenderBody()
</div>
</div>
@Scripts.Render("~/Scripts/jquery.js")
@RenderSection("Scripts", required: false)
</body>
</html>
Je ne suis pas pourquoi cette conflictualité se passe, je l'ai nettoyé et reconstruit à plusieurs reprises, je suis en utilisant Visual Studio 2017 Mac si je devais me configurer les zones.
Avez-vous essayé de déplacer 'AreaRegistration.RegisterAllAreas();' en haut de la section des enregistrements dans 'Application_Start()' dans 'Global.asax'? –
Oui, je l'ai fait, j'ai fatigué toutes sortes de combinaisons. –
Vous devez également supprimer 'AreaRegistration.RegisterAllAreas();' de la classe 'RouteConfig' qui tentera de réenregistrer les zones et entraînera le type d'erreur que vous obtenez. –