我需要构建一个控制器操作来处理这种模式:
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"}
);