SalaamBenutzername Mutiple MapRoute funktioniert nicht
Ich habe versucht, mehrere MapRoute
zu verwenden, aber ich bin nicht erfolgreich zu bekommen. Mein Szenario: Ich arbeite an einem Projekt, bei dem der Benutzer Profile erstellt und dann die öffentliche Vorschau des Profils anzeigt.
Für öffentliches Profil bis jetzt war ich mit Standard id
Beispiel:
hier 'Profil' ist {controller}
und 'DoctorProfile' ist {action}
und 'alijamal14' ist {id}
und diese funktioniert einwandfrei
Ich möchte einen Benutzernamen Route, die auch ohne m funktionieren würde die gleiche erreichen ention der Controller und die Aktion
Weitere Informationen unter ich meine Rout.Config.cs erwähne
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace DoctorSearchEngine
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Doctor", action = "Search", id = UrlParameter.Optional },
namespaces: new[] { "DoctorSearchEngine.Controllers" }
);
routes.MapRoute(
name: "Users",
url: "{username}",
defaults: new { controller = "Profile", action = "DoctorProfile", username = UrlParameter.Optional },
namespaces: new[] { "DoctorSearchEngine.Controllers" }
);
}
}
}
ich diese Störung erhalte
Server Fehler in '/' Anwendung.
Die Ressource kann nicht gefunden werden.
Beschreibung: HTTP 404. Die Ressource, nach der Sie suchen (oder eine der Abhängigkeiten), könnte entfernt worden sein, der Name wurde geändert oder ist vorübergehend nicht verfügbar. Bitte überprüfen Sie die folgende URL und machen Sie sicher, dass es richtig geschrieben ist.
Angeforderte URL:/alijamal14
Versionsinformationen: Microsoft .NET Framework Version: 4.0.30319; ASP.NET Version: 4.6.1055.0
Wenn ich zum ersten Mal MapRoute-Code localhost Kommentar aus: 44300/Profil/DoctorProfile/alijamal14 funktioniert, aber andere Controller und Aktionen stoppen wird
arbeiten, wie ich Benutzernamen erreichen kann, nachdem Website-Domänenname Link zusammen mit Standard-Route-Funktionalität?
Dank
Sie kann nicht (die Reihenfolge der Routen tauschen könnte machen 'https: // localhost : 44300/alijamal14' aber dann würde nichts anderes mehr). Sie benötigen Soothing, um die Routen identifizierbar zu machen –