我只是下面的行動創造了我的控制器:ASP.net MVC路由
public ActionResult Serial(string letterCase)
{
string serial = "SAM_ATM_1.0.0";
if (letterCase == "lower")
{
return Content(serial.ToLower());
}
return Content(serial);
}
及以下路由規則添加上述默認操作:
routes.MapRoute(
name: "Serial",
url: "serial/{letterCase}",
defaults: new { controller = "Home", action = "Serial", letterCase = "upper" }
);
但是調用調試會話URL http://localhost:5532/home/serial/lower,letterCase
是傳遞null值。
這是您的定義中的第一條路線嗎?要匹配它,你需要調用'...... 5532/serial/lower'(或者將路由URL改爲'url:「home/serial/{letterCase}」') –
@StephenMuecke是否可以編寫規則/ home/serial/lower和/ serial/lower是否工作?我嘗試了{controller}/serial/{letterCase},但如果沒有控制器名稱,它將不起作用,並且/ serial/lower會導致錯誤,但是/ home/serial/lower會起作用。 – VSB
您可以隨時添加2個路由定義 - 一個用於'url:「home/serial/{letterCase}」',一個用於'url:「serial/{letterCase}」'(兩個默認值:'相同) –