【问题标题】:ASP.NET Url Routing BasicsASP.NET URL 路由基础
【发布时间】:2015-11-15 12:57:37
【问题描述】:

我正在熟悉 Url 路由并且很快就卡住了。我正在尝试调整根文件夹中一个文件的 url,所以它显示的不是“http://localhost:55805/Maps.aspx”,而是“http://localhost:55805/maps”。简单的东西,没有参数等。我创建了 Global.asax 文件并添加了以下代码。

protected void Application_Start(object sender, EventArgs e)
        {
            routes.MapPageRoute("maproute", "maps", "~/Maps.aspx");
        }

我正在调用的链接如下所示。

<div id="Div6" class="menuitem"><h3><a class="fill-div" href="../Maps.aspx")">Maps</a></h3></div>

有谁知道我应该如何调整代码。我尝试了各种 命令,但没有帮助。是不是因为它不是服务器控制造成的?尝试改用超链接,但没有帮助。我正在使用 .NET 4.5 版。

非常感谢

【问题讨论】:

    标签: c# asp.net url-routing


    【解决方案1】:

    有几种方法:

    1.- 使用 RouteUrl 表达式和超链接

    <asp:HyperLink ID="HyperLink1" runat="server" 
        NavigateUrl="<%$RouteUrl:routename=maproute%>">
       Maps
    </asp:HyperLink>
    

    2.- 使用虚拟网址和超链接

    <asp:HyperLink ID="HyperLink1" runat="server" 
        NavigateUrl="~/maps">
        Maps
    </asp:HyperLink>
    

    3.- 使用 runat 服务器锚点和 RouteUrl 表达式

    <a class="fill-div" href="<%$RouteUrl:routename=maproute%>" runat="server">Maps</a>
    

    4.- 使用 runat 服务器锚点和虚拟 url

    <a class="fill-div" href="~/maps" runat="server">Maps</a>
    

    【讨论】:

      【解决方案2】:

      你试过只使用&lt;a class="fill-div" href="/maps"&gt; 吗?

      【讨论】:

        最近更新 更多