ASP.net从Access DB字段中数据绑定超链接

时间:2011-04-06 01:39:59

标签: asp.net data-binding

我正在帮助我的女儿建立一个拥有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>

我无法看到额外的#符号来自哪里。它们似乎不在表中的字段中。

非常令人费解。并且非常感谢洞察力。

1 个答案:

答案 0 :(得分:0)

看看这个question

我猜您正在使用访问超链接列来存储链接。如果将其转换为文本列,它应该可以正常工作,或者您可能需要手动删除“#”。