【问题标题】:Relative and Absolute URLS with Directories带有目录的相对和绝对 URL
【发布时间】:2012-04-09 10:00:57
【问题描述】:

我刚开始创建和启动网站,遇到了一个绊脚石。

我有一个分配了 3 个不同域的主机帐户。每个域都映射到主目录的一部分。所以它是这样的:

My Site - 
           -Site1
           -Site2
           -Site3

但是,我似乎无法使用在托管站点上本地工作的相同 URL,反之亦然。这是我在链接中使用的代码示例:

<asp:MenuItem NavigateUrl="/Default.aspx" Text="Home"/>

上传到主机时效果很好,但在本地我得到一个错误:

HTTP 错误 404 - 未找到。

当我离开 /

 <asp:MenuItem NavigateUrl="About.aspx" Text="About"/>

它可以在本地工作,但托管时会出错:

找不到资源:
请求的 URL:/Site1/Site1/About.aspx

我使用过 ~、../、default.aspx 等,它总是可以在其中一个上工作,而在另一个上则不行。我确定我错过了一些非常简单但无法解决的问题。

【问题讨论】:

    标签: asp.net url hyperlink relative-path absolute-path


    【解决方案1】:

    试试这个

    <asp:MenuItem NavigateUrl="/ProgectName/About.aspx" Text="About"/>
    

    或者 服务器端

    Menu1.Items.Add(new MenuItem { NavigateUrl = Page.ResolveUrl("About.aspx"), Text = "About"});
    

    【讨论】:

    • 感谢您的回答,恐怕它仍然无法正常工作,但如果找到解决方案,我会发布它。
    • 万一其他人遇到这个问题,我已经解决了这个问题。我正在使用可视化 Web 开发人员,如上所述,我无法在我的开发服务器上使用与托管相同的路径。问题在于 VWD 中的虚拟路径,在解决方案资源管理器上,单击链接网站文件夹本身(图标显示一个世界),在属性部分将虚拟路径更改为 /。我知道这可能很明显,但以防其他人遇到类似问题!
    猜你喜欢
    • 1970-01-01
    • 2016-11-02
    • 2011-02-02
    • 2010-12-30
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    相关资源
    最近更新 更多