我正在使用 webforms 在 asp.net 网站上工作,由于某些未知原因,我遇到了奇怪的问题。
我在页面的不同区域有不同的横幅,在 MasterPage 的标题部分有一个常见的横幅,横幅按应有的方式显示,但问题是与横幅的链接不起作用。
下面是页面显示后生成的部分代码。
<div class="horizontalBannerBar">
<!-- Header Banner -->
<div class="pnlHeaderBanner" id="pnlHeaderBanner">
<a target="_blank" href="http://abc.com" class="bannerlink" id="hypLnkHeaderBanner"><img style="border-width:0px;" src="../images/Banners/32dfe9ee-0832-4d89-8c61-45b0ef371f1f.jpg" id="imgHeaderBanner"></a>
</div>
<!-- Header Banner -->
</div>
我使用 Panel 作为包装器,以便在横幅不存在的情况下隐藏横幅。
下面是我用来为超链接控件和图像控件赋值的代码
DataSet ds = DataProvider.GetTopBanner(ArticleID, PageID, IssueID, CategoryID, BannerLayoutPosition, LangID);
if (ds.Tables[0].Rows.Count > 0)
{
imgHeaderBanner.ImageUrl = ds.Tables[0].Rows[0]["ImagePath"].ToString();
hypLnkHeaderBanner.NavigateUrl = ds.Tables[0].Rows[0]["BannerURL"].ToString();
}
else
{
imgHeaderBanner.Visible = false;
pnlHeaderBanner.Visible = false;
}
实际的 .ASPX 页面代码
<div class="horizontalBannerBar">
<!-- Header Banner -->
<asp:Panel ID="pnlHeaderBanner" CssClass="pnlHeaderBanner" runat="server">
<asp:HyperLink ID="hypLnkHeaderBanner" CssClass="bannerlink" runat="server" Target="_blank">
<asp:Image ID="imgHeaderBanner" runat="server" BorderWidth="0" />
</asp:HyperLink>
</asp:Panel>
<!-- Header Banner -->
</div>
似乎 HTML 正在某个地方分解,但即使在小提琴上我也看不到它,它在 FF 和 Chrome 中不起作用,而链接在 IE 9 中起作用。