例如,假设我有一个HyperLink:
<asp:HyperLink runat="server" Text="Foo" NavigateUrl="foo.aspx" />
如何在服务器端设置NavigateUrl,而不必去代码隐藏?
这当然不起作用:
<asp:HyperLink runat="server" Text="Foo" NavigateUrl="<%= urlString %>" />
(其中urlString可能是我之前在页面中创建的字符串)
这不起作用,因为HyperLink不在数据绑定控件中:
<asp:HyperLink runat="server" Text="Foo" NavigateUrl='<%# urlString %>' />
我想我可以使用标准的锚元素:
<a href="<%= urlString %>">Foo</a>
但我不想混淆HTML和ASP.NET控件,能够为其他控件执行此操作会很方便。
肯定有办法吗?
答案 0 :(得分:1)
尝试在内联代码块中设置属性:
<asp:HyperLink runat="server" ID="MyLink" Text="Foo" />
<% MyLink.NavigateUrl="foo.aspx"; %>
答案 1 :(得分:1)
这当然不起作用:
当然可以。
这不起作用,因为 HyperLink不在数据绑定范围内 控制:
将Page视为数据绑定控件。 你需要调用它的DataBind方法。
Page.DataBind();
也许您还需要添加ID属性。如果这不起作用,请尝试显示属性而不是变量。