C# asp:超链接无法在服务器上呈现正确的HTML
我正在从事一个ASP.NET WebForms on.NET 2.0的项目,遇到了一个似乎找不到原因的问题。我的aspx文件中有以下代码:C# asp:超链接无法在服务器上呈现正确的HTML,c#,webforms,C#,Webforms,我正在从事一个ASP.NET WebForms on.NET 2.0的项目,遇到了一个似乎找不到原因的问题。我的aspx文件中有以下代码: <table> <tr> <td> <asp:HyperLink ID="supportLink" runat="server">Customer Support Docket</asp:HyperLink
<table>
<tr>
<td>
<asp:HyperLink ID="supportLink" runat="server">Customer Support Docket</asp:HyperLink>
</td>
</tr>
<tr>
<td>
<asp:HyperLink ID="entitlementsLink" runat="server">Edit Entitlements</asp:HyperLink>
</td>
</tr>
</table>
在这一点上,我不确定我能做什么。我的计划是在接下来的几周内用MVC4重新编写这个网站,但鉴于这是一个内部网站,没有产生资金,它在我的优先级列表中处于较低的位置,在一段时间内不会得到更多的关注,这意味着我需要解决这个问题
服务器环境是Windows server 2003上的IIS 6,HTML在IE9和Chrome 24.0.1312.57中都以这种方式呈现。我已经清除了两个浏览器中的缓存,但都没有用,我知道页面在发布后会得到更新,因为我添加的其他功能在生产中实际运行
编辑
我想知道我从哪里得到客户ID的。它来自查询字符串。为了说明空白查询字符串不会导致这种情况,这里是没有查询字符串的本地和生产HTML:
无查询字符串的本地渲染
不带查询字符串的生产HTML
客户支持摘要
编辑权利
为了澄清,customerid值来自哪里?您确定在服务器上运行时正确提取了值吗?我之所以这样说,是因为它看起来好像没有提供ID,因此字符串没有被生成,导航url被排除,因为它没有值。为了澄清,customerid值来自哪里?您确定在服务器上运行时正确提取了值吗?我之所以这样说,是因为它看起来好像没有提供ID,因此字符串没有被生成,导航url被排除,因为它没有值。只要确保。。。你确定你部署的重建的.dll正确吗?@RandomWebGuy我直接从Visual Studio 2008发布。当同一文件中的更改很明显时(新的javascript函数和新的行为都在其中),dll被推到了那里?标记更改?两者都有?只是确定。。。你确定你部署的重建的.dll正确吗?@RandomWebGuy我直接从Visual Studio 2008发布。当同一文件中的更改很明显时(新的javascript函数和新的行为都在其中),dll被推到了那里?标记更改?两者都有?customerid来自查询字符串,在我的代码隐藏中可以看到该字符串。我可以将带有查询字符串的页面url从localhost(它工作的地方)复制到prod站点,但它仍然不工作。查询字符串在我的测试中肯定存在。不管查询字符串是否包含值。例如,supportLink的导航URL就是ViewCustomer.aspx?customerid=如果您将代码更改为以下内容,它是否工作(我指的是在服务器上)?supportLink.NavigateUrl=“./sometest.htm”@雷扎拉斯:好吧,这很奇怪。我将supportLink更改为一个静态url,然后发布并显示出来。然后我把它改回来发布,它开始正常工作。不知道为什么。我猜它一定没有发布隐藏的代码。这很奇怪,因为在代码背后还有其他代码是新的,但却不起作用。感谢您的帮助。customerid来自查询字符串,该字符串显示在我的代码后面。我可以将带有查询字符串的页面url从localhost(它工作的地方)复制到prod站点,但它仍然不工作。查询字符串在我的测试中肯定存在。不管查询字符串是否包含值。例如,supportLink的导航URL就是ViewCustomer.aspx?customerid=如果您将代码更改为以下内容,它是否工作(我指的是在服务器上)?supportLink.NavigateUrl=“./sometest.htm”@雷扎拉斯:好吧,这很奇怪。我将supportLink更改为一个静态url,然后发布并显示出来。然后我把它改回来发布,它开始正常工作。不知道为什么。我猜它一定没有发布隐藏的代码。这很奇怪,因为在代码背后还有其他代码是新的,但却不起作用。谢谢你的帮助。
<table>
<tr>
<td>
<a id="ctl00_ContentMain_supportLink" href="ViewCustomer.aspx?customerid=659">Customer Support Docket</a>
</td>
</tr>
<tr>
<td>
<a id="ctl00_ContentMain_entitlementsLink" href="EditEntitlements.aspx?customerid=659">Edit Entitlements</a>
</td>
</tr>
</table>
<table>
<tr>
<td>
<a id="ctl00_ContentMain_supportLink">Customer Support Docket</a>
</td>
</tr>
<tr>
<td>
<a id="ctl00_ContentMain_entitlementsLink">Edit Entitlements</a>
</td>
</tr>
</table>
protected void Page_Load(object sender, EventArgs e)
{
supportLink.NavigateUrl = string.Format("ViewCustomer.aspx?customerid={0}",
Request.QueryString["customerid"]);
entitlementsLink.NavigateUrl = string.Format("EditEntitlements.aspx?customerid={0}",
Request.QueryString["customerid"]);
}
<table>
<tr>
<td>
<a id="ctl00_ContentMain_supportLink" href="ViewCustomer.aspx?customerid=">Customer Support Docket</a>
</td>
</tr>
<tr>
<td>
<a id="ctl00_ContentMain_entitlementsLink" href="EditEntitlements.aspx?customerid=">Edit Entitlements</a>
</td>
</tr>
</table>
<table>
<tr>
<td>
<a id="ctl00_ContentMain_supportLink">Customer Support Docket</a>
</td>
</tr>
<tr>
<td>
<a id="ctl00_ContentMain_entitlementsLink">Edit Entitlements</a>
</td>
</tr>
</table>