我正在帮助我的女儿建立一个拥有Access数据库的asp.net网站。我们在ItemTemplate中使用带有几个字段的DataList。给我带来麻烦的是超链接。代码如下。当页面加载超链接渲染时,如下所示:
<a id="ContentPlaceHolder1_DataList1_lnk_6" href="#http://www.washingtonfaire.com/#" target="_blank">Washington Midsummer Renaissance Faire</a>
但是当我点击该链接时,它会尝试导航到“http://localhost:1852/BOOMPiratesB/Raids.aspx#http://www.washingtonfaire.com/#”
我们做错了什么?
这是我们的代码。
<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1">
<ItemTemplate>
<asp:HyperLink id="lnk" runat="server" NavigateUrl='<%# Eval("Link") %>' Target="_blank" Text='<%# DataBinder.Eval(Container.DataItem, "VenueName")%>'>
</asp:HyperLink>
<br />
<asp:Label ID="DateTextLabel" runat="server" Text='<%# Eval("DateText") %>' />
<br />
<asp:Label ID="CityStateLabel" runat="server" Text='<%# Eval("CityState") %>' />
<br />
<br />
</ItemTemplate>
</asp:DataList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/my.mdb"
SelectCommand="SELECT [VenueName], [Link], [DateText], [Season], [DateStart], [CityState] FROM [qpgRaid]">
</asp:AccessDataSource>
我无法看到额外的#符号来自哪里。它们似乎不在表中的字段中。
非常令人费解。并且非常感谢洞察力。