こんにちはみんな私はこの奇妙な問題で立ち往生しています、asp:HyperLink
コントロールはブラウザ内でレンダリングされていません、それはブラウザに送信される最終的なHTMLにも存在しません。
Home.aspxAsp.netマークアップ
<div class="LoginBox">
<div id="LoginViewBox" runat="server">
<asp:HyperLink ID="linkLogout" runat="server" OnClick="LogOut"></asp:HyperLink>
</div>
</div>
ブラウザのHome.aspx
<div class="LoginBox">
<div id="ctl00_HeadHolder_LoginViewBox"> Welcome owaisBhai
</div>
</div>
Home.Aspx.Cs
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
LoginBoxManager.PopulateLoginBox(ref LoginViewBox, ref linkLogout);
}
}
LoginBoxManager.cs
public static class LoginBoxManager
{
public static void PopulateLoginBox(ref HtmlGenericControl loginViewBox, ref HyperLink linkLogout)
{
string LogInUrl = "Login.aspx";
string WelcomeGuest = String.Format(" Welcome Guest <a href='{0}'>[LogIn]</a>", LogInUrl);
string WelcomeUser = "";
if (HttpContext.Current.Session.Count == 0)
{
//user not authenticated
loginViewBox.InnerHtml = WelcomeGuest;
}
else
{
//user authenticated
WelcomeUser =
String.Format(" Welcome {0} "
,SmartSession<User>.LiveSession.UserName);
loginViewBox.InnerHtml = WelcomeUser;
linkLogout.Text = "[LogOut]";
}
}
}
PS:私は状況をよく説明したと思います。詳細を教えてください。