在这个asp.net页面中,有一个链接指向某个子文件夹中的另一个页面,它一直有效。
最近,由于技术原因(无关),必须更改端口号(80 到 81)。每个链接都在工作,但是无论如何都有一个不会保留端口号。
<asp:HyperLink runat="server" Text="link1" NavigateUrl="~/default.aspx" /> |
<asp:HyperLink runat="server" Text="LINK2" NavigateUrl="~/Secure/RACs/default.aspx" /> |
<asp:HyperLink runat="server" Text="link3" NavigateUrl="~/Admin/page3.aspx" /> |
<asp:HyperLink runat="server" Text="link4" NavigateUrl="~/Admin/page4.aspx" /> |
<asp:HyperLink runat="server" Text="link5" NavigateUrl="~/Admin/page5.aspx" /> |
<asp:HyperLink runat="server" Text="link6" NavigateUrl="~/Admin/page6.aspx" /> |
<asp:HyperLink runat="server" Text="link7" NavigateUrl="~/Admin/page7.aspx" />
如您所见,每个链接都通过“~”获取它的 URL,并且每个链接都获取 IP 后面的 :81 端口号,但链接 2 只是不保留任何端口号(如果您单击它,它会丢失端口号,然后如果您将其添加回浏览器的导航栏中,它可以工作,但是然后单击其中任何导致同一文件夹中任何其他页面的任何内容,都会出现同样的问题)
然后我去检查并比较标题和母版页加载,似乎没有任何会影响端口号的东西。代码如下:
LINK2 导致:
<%@ Page Language="VB" MasterPageFile="~/Common/MasterPage.master" Title="LINK2" Culture="pt-BR" UICulture="pt-BR" %>
<%@ Register TagPrefix="uct" TagName="RacControl" Src="~/Secure/RACs/RACControl.ascx" %>
<%@ Register TagPrefix="uct" TagName="DOCsControl" Src="DOCsControl.ascx" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<%@ Import Namespace="Pm.Common.Type" %>
并且(例如)链接 3 导致:
<%@ Page Language="VB" MasterPageFile="~/Common/MasterPage.master" Title="LINK3" %>
<%@ Register TagPrefix="uct" TagName="link3" Src="~/Admin/UsersControl.ascx" %>
<%@ Register TagPrefix="uct" TagName="CreateUserControl" Src="~/Admin/CreateUserControl.ascx" %>
每次我想访问“/secure/racs”文件夹中的任何内容时,会导致页面丢失端口号的问题在哪里?
我会关注这个问题,请发表评论,任何事情都会有所帮助,如果需要,我会发布更多代码。
--[编辑 1]-- 运行提琴手,并单击一个链接(主链接),单击时会丢失端口,我得到这个重定向:
替代文字 http://dl.dropbox.com/u/3045472/losingport.png
一件好事是问题不在请求中,坏事是我不知道是什么将它重定向到默认端口而不重定向其余页面。