Hallo Leute, ich stecke mit diesem seltsamen Problem fest, asp:HyperLink
Steuerelement nicht im Browser gerendert wird, existiert es nicht einmal im endgültigen HTML, das an den Browser gesendet wird.
Startseite.aspx Asp.net Markup
<div class="LoginBox">
<div id="LoginViewBox" runat="server">
<asp:HyperLink ID="linkLogout" runat="server" OnClick="LogOut"></asp:HyperLink>
</div>
</div>
Home.aspx im Browser
<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]";
}
}
}
P.S: Ich denke, ich habe die Situation gut erklärt, wenn Sie mir Einzelheiten mitteilen möchten.