Ich habe diese Website, die eine MasterPage und einige Inhaltsseiten hat. Die MasterPage enthält ein Div, das ich öffne, wenn der Benutzer auf den Link "Anmelden" klickt, der sich ebenfalls auf der MasterPage befindet. Dieses Anmeldeformular hat zwei Textboxen, einen für den Benutzernamen und einen für das Passwort, und wenn der Benutzer das Formular abschickt, sollten sie authentifiziert werden und dort Benutzerinformationen in die Sitzung eingefügt werden. ALL der zu behandelnden Code befindet sich im MasterPage-Code dahinter.MasterPage Textfelder sind leer, wenn auf Code
Hier ist das Problem: Wenn das Click-Ereignis von MasterPage den Text aus den Textfeldern zur Verwendung in der Authentifizierungsmethode erfasst, sieht der Code den Text als leer.
Was fehlt mir?
Hier ist der Klick-Code-Taste und Form, die auf der Masterseite befindet:
Button:
bool IsUserAuthenticated = false;
string userName = txtUserName.Text;
string password = txtPassword.Text;
IsUserAuthenticated = masterDataManager.AuthenticateUser(userName, password);
if (IsUserAuthenticated)
{
Session.Add("UserName", userName);
lblCurrentUserName.Text = "You are logged in as: " + userName;
string script = "<script type=\"text/javascri\">$('#dialogBox').dialog('close');</script>";
if (Page.ClientScript.IsStartupScriptRegistered("closeDialog"))
{
Page.RegisterStartupScript("closeDialog", script);
}
}
else
{
lblLoginError.Text = "Username/Password combination does not exist in the database. Please try again.";
}
Und hier ist der Div:
<div id="dialogBox" title="Log In">
<table align="center" style="margin-top: 5px; width: 100%" cellpadding="5" cellspacing="5">
<tr>
<td colspan="2">
<asp:Label ID="lblLoginError" runat="server" Text="" CssClass="errorText"></asp:Label>
</td>
</tr>
<tr>
<td class="dialogText">
<asp:Label ID="lblUserName" runat="server" Text="User Name: " ForeColor="#c3c003"></asp:Label>
</td>
<td class="dialogInput">
<asp:TextBox ID="txtUserName" runat="server" BackColor="Black" ForeColor="#c3c003" Width="210px"></asp:TextBox>
</td>
</tr>
<tr>
<td class="dialogText">
<asp:Label ID="lblPassword" runat="server" Text="Password: " ForeColor="#c3c003"></asp:Label>
</td>
<td class="dialogInput">
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" BackColor="Black" ForeColor="#c3c003" Width="210px"></asp:TextBox>
</td>
</tr>
<tr>
<td class="dialogInput" colspan="2">
<asp:UpdatePanel runat="server" ID="testupdatepanel">
<ContentTemplate>
<asp:ImageButton ID="btnLogin" runat="server" ImageUrl="~/images/loginout.png" ImageAlign="Right" style="padding-top: 15px;" onclick="btnLogin_Click" />
<asp:ImageButton ID="btnCancel" runat="server" ImageUrl="~/images/cancelout.png" ImageAlign="Right" style="padding-top: 15px;" />
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
</div>
DIe txtUserName und TxtPassword Texteigenschaften sind leer, obwohl Text in der Box vorhanden ist.
Lassen Sie mich wissen, wenn Sie noch etwas brauchen.
Können Sie einen Beispielcode posten? – Don