我们可以有一个网址
[Route("Employee/Edit")]
指向
public ActionResult Edit(bool reviewMode=false)
,而
[Route("Employee/Review")]
指向
public ActionResult Edit(bool reviewMode=true)
我们知道我们可以传递像
这样的参数[Route("Employee/Edit/{reviewMode}")]
采取行动:
public ActionResult Edit(string reviewMode)
{
if (reviewMode.Equals("review", StringComparison.OrdinalIgnoreCase))
....
}
但是如果可以实现前两种路由模式,那么我们的url和Actions中的代码肯定会更优雅。
有可能吗?怎么样?
答案 0 :(得分:0)
您可以将模式字符串保留为方法参数,并检查其值以设置布尔变量的值。
[Route("Employee/{mode}")]
public ActionResult Edit(string mode = "Edit")
{
var isReviewModel = String.Equals(mode, "Review",
StringComparison.InvariantCultureIgnoreCase);
// to do something based on isReviewModel
}
这适用于yourSiteName/employee/Review
和http://localhost:32200/employee/Edit
当请求网址为employee/Review
时,isReviewModel变量值为true
,当请求网址为employee/Edit
时,该值为false
。