【发布时间】:2019-07-16 10:27:14
【问题描述】:
我需要构建一个控制器动作来处理这种模式:
example.com/aString
其中 aString 可以是任意字符串集合中的任何一个。控制器将循环遍历每个可能的值,如果没有匹配,则重定向到 404。
我认为这只是重新编码包罗万象的问题,但到目前为止我还是一片空白。目前正在使用 Sherviniv 的建议:
//Catchall affiliate shortcuts.
routes.MapRoute(
name: "affLanding",
url: "{query}",
defaults: new
{
controller = "Home",
action = "MatchString"
}
);
控制器:
public ActionResult MatchString(string query)
{
_logger.Info("affLanding: " + query);
return View();
}
如果我将“搜索”字符串硬编码到 route.config 中,则一切正常:
routes.MapRoute(
name: "search",
url: "aString",
defaults: new { controller = "home", action = "MatchString"}
);
【问题讨论】:
标签: asp.net-mvc-4 mvcroutehandler