我有一个ASP.Net MVC 2应用程序,它提供静态HTML文件作为actionresult
Content(htmlString);
此HTML包含其中的相关链接。即/absdk123.html?t1=somevalue&t2=someothervalue
我的路线应该与这些HTTP请求相匹配?我试过这个:
routes.MapRoute(
"LinkRoute", // Route name
"{html}", // URL with parameters
new { controller = "Home", action = "ResolveLink"} // Parameter defaults
);
在动作“ResolveLink”中,字符串参数始终为“null”。如何编写正确处理这些链接的路由?
public ActionResult ResolveLink(string htmlFileName)
{
//test param
return Content(htmlFileName);
}
谢谢!
答案 0 :(得分:2)
试试这个:
routes.MapRoute(
"LinkRoute", // Route name
"{htmlFileName}", // URL with parameters
new { controller = "Home", action = "ResolveLink"} // Parameter defaults
);
public ActionResult ResolveLink(string htmlFileName)
{
//test param
return Content(htmlFileName);
}
答案 1 :(得分:1)
routes.MapRoute(
"LearningModuleLessonRoute", // Route name
"{html}.html", // URL with parameters
new { controller = "Home", action = "ResolveLink" }// Parameter defaults
);
这实际上会匹配格式/{filename}.html的任何请求。 我没有意识到文件扩展名可以包含在路由中。