В вашем файле Global.asax.cs
по умолчанию будет отображаться следующий маршрут:
routes.mapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional });
Это означает, что URL-адрес, подобный http://localhost:2345/Bank/EmployeeDetails/3d34xyz
, перейдет в контроллер Bank
, действие EmployeeDetails
и передаст значение 3d34xyz
в параметр с именем id
. Передача строки вполне допустима, но для того, чтобы она работала, у вас есть два варианта:
1) Переименуйте переменную в id
в вашем методе действия.
public ActionResult EmployeeDetails(string id) { ... }
2) Добавьте другой маршрут, который соответствует любому имени, которое вы хотите для вашей строки. Убедитесь, что он более конкретен, чем маршрут по умолчанию, и поместите его перед маршрутом по умолчанию в файле Global.asax.cs
.
routes.mapRoute(
"BankEmployeeDetails"
"Bank/EmployeeDetails/{myString}"
new { controller = "Bank", action = "EmployeeDetails", myString = UrlParameter.Optional });
Это передаст значение по умолчанию от null
до myString
, если в URL не передано значение, но с указанным вами URL вы передадите значение 3d34xyz
.