我想知道以下代码示例中使用的HyperLink控件如何呈现为显示welcome.Text变量中包含的文本的html。
注册页面链接也是如此。
由于我假设每次发出页面请求时都不会运行此脚本,我也想知道这个脚本在示例应用程序中运行的情况。
<script language="C#" runat="server">
void Page_Load(object sender, EventArgs e) {
if (User.Identity.IsAuthenticated) {
welcome.Text = "Welcome " + User.Identity.Name;
}
else {
// not signed in yet, add a link to signin page
welcome.Text = "please sign in!";
welcome.NavigateUrl = "signin.aspx";
}
}
</script>
<asp:HyperLink id="welcome" runat="server" maintainstate="false">
</asp:HyperLink>
修改
更准确地说,HyperLink控件如何知道如何呈现变量welcome.Text?
是否在声明控件时,ControlName.Text(如果声明)始终呈现?
答案 0 :(得分:1)
每次请求页面时都应运行Page_Load。对于未经身份验证的用户,您的HyperLink将呈现为<a href="signin.aspx">please sign in!</a>
,对于经过身份验证的登录,您的HyperLink将呈现为<a href="">Welcome LoginUserName</a>
。
这是你在寻找什么。如果没有,请描述更多细节。