【问题标题】:Asp.Net trouble with linksAsp.Net 链接问题
【发布时间】:2014-09-18 01:21:29
【问题描述】:

我是 ASP.NET 网络开发的新手,我似乎遇到了链接问题。这里有几个问题:

我的母版页文件中有这个:

<div class="title">            
                <a href="~/Default.aspx">Backyard Cures</a>
            </div>

当用户点击标题时,我希望他/她返回主页。但是,这似乎不起作用。相反,当我在登录或注册页面时,它会将我送回登录页面。当我在 default.aspx 中时,它会将我发送到 /localhost/~/Default.aspx。 ~ 不是根的意思吗?

我也想知道如何使我的网址更加用户友好。我不希望 Default.aspx 出现在主页等处。

【问题讨论】:

    标签: c# html asp.net


    【解决方案1】:

    锚标记 (&lt;a&gt;) 是标准的 HTML 标记,波浪号 (~) 是特定于 .NET 的

    在使用波浪号时,您应该使用&lt;asp:HyperLink runat="server" NavigateUrl="~/Default.aspx" Text="Backyard Cures"&gt;&lt;/asp:HyperLink&gt;

    此外,如果您的母版页或内容页或它使用的资源受身份验证保护,您将被重定向到登录页面。

    为了使链接更具可读性,您可以使用下面的一个或多个选项:

    1. 来自 nuget 的友好 URL 包:http://www.nuget.org/packages/Microsoft.Aspnet.FriendlyUrls/
    2. 切换到 MVC 项目而不是 Web 窗体项目
    3. 使用自定义路由:http://msdn.microsoft.com/en-us/library/vstudio/cc668201%28v=vs.100%29.aspx

    【讨论】:

    • 谢谢。如何让链接更漂亮?
    • 使用 HyperLink 控件的CssClass 属性将 .css 类添加到链接中
    • 抱歉,我应该更具体一点:我希望显示的 URL 对用户更友好。例如,当用户访问 Default.aspx 时,我希望 URL 显示 sitename.com/home
    • 啊。您可以使用来自 nuget 的 Friendly Urls 包:nuget.org/packages/Microsoft.Aspnet.FriendlyUrls,或者切换到 MVC 而不是 Web 表单。或者使用自定义路由:msdn.microsoft.com/en-us/library/vstudio/…
    • 你是指地址栏还是浏览器顶部的标题?如果您在 .aspx 页面上设置标题,它将是在浏览器栏中呈现的内容以及书签的名称以及用户为网站添加书签时的名称。
    【解决方案2】:

    更改为 HyperLink 以作为 Web 控件运行:

    <asp:HyperLink NavigateUrl="~/BusinessOrderInfo/page.aspx" Text="Whatever" runat="server" />
    

    或者,在服务器端作为 HTML 控件运行锚点:

    <a href="~/BusinessOrderInfo/page.aspx" runat="server" >
    

    或者,使用 Page.ResolveUrl:

    <a href="<%= Page.ResolveUrl("~/BusinessOrderInfo/page.aspx") %>">...</a>
    

    为了让网址更漂亮

    对于 Web 表单,url 指向磁盘上的文件,而 MVC 指向控制器操作。如果您使用的是网络表单,则需要使用 URL 重写。 Scott Guthrie 有一篇关于 URL 重写的好文章。

    【讨论】:

    • 谢谢。如何使 URL 更漂亮?我怎么做?例如,我希望 Default.aspx 在浏览器中显示 sitename.com/home。
    • 已编辑请检查:)\
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    相关资源
    最近更新 更多