如何解决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与锚点的开销。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。