【问题标题】:MVC w/ JavaScript - trips route带有 JavaScript 的 MVC - 行程路线
【发布时间】:2009-04-23 03:05:58
【问题描述】:

See the exception

我的母版页中有一个 JS,它似乎每次都会触发其中一条路线。

正在绊倒这条路线:

routes.MapRoute(
"CatalogType",
"Catalog/{group}/{type}/{index}/{browseSize}",
new { controller = "Catalog"
    , action = "Types"
    , group = ""
    , type = ""
    , index = ""
    , browseSize = "" }
);

我可以做些什么来阻止这种行为吗?

PS:我知道有一种方法可以在这些参数上强制执行数据类型,但对于我来说,我找不到参考。我在做梦吗?

【问题讨论】:

    标签: asp.net-mvc routing


    【解决方案1】:

    查看异常,您似乎没有在服务器端正确解析 javascript 文件的虚拟路径(即 ~/ 位最终被呈现给客户端,而不是被解析为正确的应用程序absoluet小路)。在哪里包含你的 js 文件,你想像这样包含它:

    <script type="text/javascript" src="<%= Url.Content("~/scripts/swfobject.js") %>" ></script>
    

    不是这样的:

    <script type="text/javascript" src="~/scripts/swfobject.js" ></script>
    

    【讨论】:

      【解决方案2】:

      这是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 对于此类事情也非常有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多