asp.net webform默认路由不起作用

时间:2011-12-08 18:20:18

标签: asp.net url routes

编辑:我自己解决了。由于样式表参考路径为/css/style.css而不是css/style.css,因此asp.net不会修复网址。我发现<link> {{1}当<meta>标记头部时,<title>将添加为服务器控件,因此这些服务器控件将自动修复当前引用问题。

!!!但是,runat="server"被忽略,其中一个解决方案是<script>。但是当你有一个主页附加到母版页时它不起作用,asp.net canot在App_Themes中添加样式表当它包含这样的<%= ResolveClientUrl('~/js/jquery.js') %>表达式时,asp.net将抛出异常。

所以似乎最好的解决方案是使用<% %>

另一个重要的发现是,当您在主<ScriptManager>头中有<ContentPlaceHolder>时,使用此母版页的子页面runat=server内的样式表将不会被视为服务器控件。所以在<Content>子网页中,您必须使用<Content>来处理网址修复。

ORINGIAL:

我在IIS 7 Express上运行asp.net 4.0。我使用默认值<%= ResolveClientUrl%>将“MarketList / {type}”路由到“〜/ MarketList.aspx”。 URL“localhost:4888 / MarketList”运行良好,我可以接收默认值“0”。

但我发现“/”会搞乱“Main.master”母版页中定义的样式表和javascript引用。 “Main.master”位于根目录“MarketList.aspx”。 “Main.master”中的样式表定义为new {type = 0}。 “css”文件夹也位于根级别。当我通过“/ MarketList”访问时,它运行良好。但是,“/ MarketList / 1”将值“1”赋予css/style.css。页面中样式表的URL变为“../css/style.css”,它指向“/MarketList/css/style.css”。这显然不存在。

所以,我决定使用“ - ”分割这些部分,我将“market-list- {type}”路由与上面相同的设置。但是,我发现我无法访问我认为是“localhost:4888 / market-list-”的默认路由URL。 “localhost:4888 / market-list”也不起作用。只有“/ market-list-0”才有效。

有人可以帮助我吗?

0 个答案:

没有答案
相关问题