[英]Is it possible to add additional fields to the url, when processing a request in asp.net mvc2.0?
这可能是一种奇怪的情况,但这是我当前的问题:
我正在构建一个环境驱动的应用程序(即Dev / Staging / Live)
因此,当用户首次访问该应用程序(myapp.local)时,我将处理默认路由:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", environment = string.Empty, action = "Index", id = UrlParameter.Optional }
);
,将环境添加到url肯定是件好事,这样:
myapp.local
变成这个:
myapp.local/environment/development
有没有办法使用C#Asp.Net MVC 2.0来做到这一点?
谢谢。
您可以随时添加路由令牌:
routes.MapRoute(
"Default",
"environment/{env}/{controller}/{action}/{id}",
new {
controller = "Home",
env = "development",
action = "Index",
id = UrlParameter.Optional
}
);
有人说,将环境添加到您的路线是一个可怕的想法。 我衷心希望您永远不要做这样的事情,并且您的控制器动作永远也不要这样:
public ActionResult Index(string env)
{
string value = "default";
if (env == "development")
{
value = "some value for dev";
}
else if (env == "staging")
{
value = "some value for staging";
}
else if (env == "live")
{
value = "some value for live";
}
else
{
throw new Exception("Unknown environment");
}
ViewBag.Message = value;
return View();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.