我有两个这样的网址,
/products/home?subcat=abc
/products/home?subcat=xyz
我想在产品控制器中有两种操作方法 - homeabc和homexyz。
如何根据'subcat'参数的值构建路径以使其转到正确的操作方法?
PS:我没有更改网址格式的自由,它必须保持不变。
感谢。
答案 0 :(得分:2)
由于您无法更改URL格式且只有一个或两个,最简单的方法是在Home / Index方法中进行某种类型的切换
public ActionResult Index(string subcat){
switch(subcat.ToLower())[
case "abc":
return RedirectToAction("abc");
case "xyz":
return RedirectToAction("xyz");
default:
return RedirectToAction("UnknownCategory", "Errors");
}
}
不幸的是,路由引擎不允许您根据查询字符串参数(?
)进行路由。唯一的另一种可能是网址重写。