' Text="Cre-6ren">
gpt4 book ai didi

asp.net - ASP :hyperlink href won't show up even though i populate navigateurl

转载 作者:行者123 更新时间:2023-12-01 09:27:21 28 4
gpt4 key购买 nike

有人知道下面两行代码有什么问题吗?在这两种情况下,当我在浏览器中查看 anchor 链接时,都没有 href:

<asp:HyperLink runat="server" NavigateUrl='<%# Eval(Request.QueryString["conferenceId"], "~/Cms/schedule-edit.aspx?conferenceId={0}&type=workshopStream") %>' Text="Create Workshop Stream"></asp:HyperLink>

<asp:HyperLink runat="server" NavigateUrl='<%# String.Format("~/Cms/schedule-edit.aspx?conferenceId={0}&type=scheduleItem", Request.QueryString["conferenceId"]) %>' Text="Create Schedule Item"></asp:HyperLink>

不过,当我将它放入 Listview 的 ItemTemplate 时,这个完全相同的代码似乎可以正常工作。但是在 aspx 文件中单独使用时不起作用。

这有什么问题?

另外,如果我用硬编码字符串 ~/cms/schedule-edit.aspx?conferenceId=2&type=stuff 替换 navigateUrl,则会显示 href。当我在那里有 Eval 或 String.Format 时,它就不起作用了。

最佳答案

如果那些 HyperLink 服务器控件位于 DataBound 控件(如 GridView)之外,我们的代码中有两个问题 -

  1. 您想使用 <%= %>而不是 <%# %>在 DataBound 控件中使用。
  2. 您不能使用 <%= %>设置服务器控件的属性。基本上,你不能混runat="server"<%= %> .

解决方案

<a href='<%= String.Format("~/Cms/schedule-edit.aspx?conferenceId={0}&type=scheduleItem", 
Request.QueryString["conferenceId"]) %>'>Create Workshop Stream</a>

关于asp.net - ASP :hyperlink href won't show up even though i populate navigateurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20885584/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com