Pet*_*ter 19 asp.net declarative hyperlink
我想这样做:
<asp:HyperLink NavigateUrl='<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>' runat="server" Text='<%= GetProfileImage(WebContext.CurrentUser.AccountId) %>'></asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
这不是scriptlet.将以纯文本格式输出.
当我把鼠标放在我的声明性陈述上时.
有任何想法吗?谢谢.
SLa*_*aks 23
您不能使用<%= ... %>
文字来设置服务器端控件的属性.
相反,您可以使用普通(客户端)<a>
标记,如下所示:
<a href="<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>"><%= GetProfileImage(WebContext.CurrentUser.AccountId) %></a>
Run Code Online (Sandbox Code Playgroud)
如果GetProfileImage
不返回HTML标记,请确保将其转义.
kbr*_*ton 18
您可以使用数据绑定语法<%# %>
.只需确保您的超链接位于数据绑定控件(例如ListView项模板)中,或者您DataBind()
从代码隐藏中显式调用控件.
如果提供ID和runat ="server"属性,仍然可以填充<asp:HyperLink> .然后,您可以从代码隐藏设置HyperLink的任何属性.
ASP代码:
<asp:HyperLink ID="myLink" runat="server"/>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
public void Page_Init()
{
myLink.NavigateURL = WebContext.RootUrl + WebContext.CurrentUser.UserName;
myLink.Text = GetProfileImage(WebContext.CurrentUser.AccountId);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15348 次 |
最近记录: |