ASP.net将数据项放在转发器中

我有一个: 数据中继器 转发器中的控制 我想在控件中添加一些值。目前,我具有以下控件:
<asp:Repeater runat=\"server\" ID=\"ArchiveEntryRepeater\">
    snip
    <asp:HyperLink ID=\"HyperLink1\" ToolTip=\"Comment on Some Entry Title Here\" runat=\"server\" NavigateUrl=\"~/Blog/7/How-to-know-when-this/Comments\">
        <strong><%# DataBinder.Eval(Container.DataItem, \"Comments\")%></strong> Comments
    </asp:HyperLink>
    snip
</asp:Repeater> 
哪个工作正常,但我想输入
<%# DataBinder.Eval(Container.DataItem, \"Title\")%>
进入超链接的NavigateURL属性。仅将其放入似乎无效!     
已邀请:
您始终可以使用事件itemdatabound在后端进行绑定。它具有一些优点,尤其是在数据不是整洁的视图或需要某种类型的主要操作的情况下。     
尝试将您的NavigateURL用撇号而不是双引号引起来,以免混淆ASP.NET解析器:
<asp:HyperLink runat=\"server\" NavigateUrl=\'<%# DataBinder.Eval(Container.DataItem, \"Title\")%>\' [...]>[...]</asp:HyperLink>
这可能是您的问题。     
另一个选择是松开控件,并用html锚控件替换它,如下所示:
 <asp:Repeater>
        <ItemTemplate>
            <a id=\"HyperLink1\" title=\"Comment on Some Entry Title Here\" href=\'<%# DataBinder.Eval(Container.DataItem, \"Title\")%>\'
                style=\"font-weight: bold\">\'<%# DataBinder.Eval(Container.DataItem, \"Comments\")%>\'</a>
        </ItemTemplate>
    </asp:Repeater>
一旦服务器向客户端提供了超链接,通常就没有理由使用\“ runat = \'server \'\\”了。目的是导航到另一个页面,这样就浪费了使用asp:HyperLink与锚点的开销。     

要回复问题请先登录注册