ASP.net将数据项放入重复器
本文关键字:net 数据项 ASP | 更新日期: 2023-09-27 17:50:18
我有一个:
- 数据转发器
- 中继器控制
我想在控件中添加一些值。现在我有一个控件:
<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属性中。只是把它放进去似乎不管用!
尝试将您的NavigateURL用撇号而不是双引号括起来,以免混淆ASP。净解析器:
<asp:HyperLink runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "Title")%>' [...]>[...]</asp:HyperLink>
始终可以在后端使用事件itemboundound进行绑定。它有一些优点,特别是当数据不是一个整洁的视图或需要某种类型的主要操作时。
另一种选择是松开该控件并用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和nchor的开销就被浪费了。