我的母版页中有一个JS包含,似乎每次都会绊倒其中一条路线。
正在绊倒这条路线:
routes.MapRoute(
"CatalogType",
"Catalog/{group}/{type}/{index}/{browseSize}",
new { controller = "Catalog"
, action = "Types"
, group = ""
, type = ""
, index = ""
, browseSize = "" }
);
我有什么办法可以阻止这种行为吗?
PS:我知道有一种方法可以对这些参数强制执行数据类型,但对于我的生活,我找不到参考。我在做梦吗?
答案 0 :(得分:0)
查看异常,看起来您没有在服务器端正确解析javascript文件的虚拟路径(即〜/ bit最终被呈现给客户端而不是被解析为正确的应用程序absoluet路径)。如果你包含你的js文件,你想要包含它:
<script type="text/javascript" src="<%= Url.Content("~/scripts/swfobject.js") %>" ></script>
不喜欢这样:
<script type="text/javascript" src="~/scripts/swfobject.js" ></script>
答案 1 :(得分:0)
这是一个overview of route constraints。
您还可以使用以下正则表达式:
routes.MapRoute("CatalogType", "Catalog/{group}/{type}/{index}/{browseSize}",
new { controller = "Catalog", action = "Types", group = "", type = "", index = "", browseSize = "" },
new { group = "\w+", browseSize = "\d+" }
);
我发现Phil Haack's route debugger对这类事情非常有用。