无法正确绑定数据库字段值以锚定datalist控件内的标记

时间:2013-12-25 10:33:28

标签: c# asp.net url datalist

我在数据列表控件中有锚标记。我在代码后面绑定DataList,它工作正常。但问题是我在数据库中保留了链接(url)字段。要将用户重定向到此网址,我将使用此字段绑定锚标记。但它没有提供正确的地址。它在我开始时将我的本地主机(网站地址)附加到我不想要的地方。我的代码如下:

<asp:DataList ID="dlPost" runat="server" RepeatColumns="1" RepeatDirection="Vertical"
    Width="755px">
    <ItemTemplate>
        <article class="post medium">

             <div class="medium-content">

                  <header class="meta">
                 <h2> <a href ="#"><asp:Label ID="lblTitle" runat="server" Text='<%#Eval("PostTitle") %>' style="font-weight:600; color:#444444;"></asp:Label></a></h2>
                 </header>
                 <p> <asp:Label ID="lblPost" runat="server" Text='<%#Eval("Post") %>'></asp:Label></p>
                 <a href='<%#Eval("PostLink") %>' class="button color">Job Link</a>
             </div>
         </article>
         <div class="line"></div>
    </ItemTemplate>
</asp:DataList>

以下是我尝试将数据库的url字段与锚标记绑定的部分。

<a href='<%#Eval("PostLink") %>' class="button color">Job Link</a>

因此,如果数据库的Poslink字段包含www.abc.com,则会将其重定向到http://localhost:54636/CKWeb/www.abc.com而不是www.abc.com

1 个答案:

答案 0 :(得分:3)

您应该使用http://来使其正常工作。您的动态href应使用

进行绑定
'<%# string.Format("http://{0}",Eval("link"))%>'

使用上述方法确保您的链接不包含http://,否则无法使用。