मेरे पास एक मास्टर पेज है जो मास्टर पेज के आधार पर आने वाले सभी पृष्ठों पर लॉगिनव्यू सामग्री रखता है। मैं एक उपयोगकर्ता नाम नियंत्रण भी उपयोगकर्ता का नाम प्रदर्शित करने के लिए जब वे लॉग इन कर रहे हैं loginview में नेस्ट है मास्टर पृष्ठ से loginview के लिए कोड प्रदर्शित किया जाता है इस प्रकार है:।लॉगिन नाम नियंत्रण में उपयोगकर्ता नाम प्रदर्शित करने के लिए कैसे करें
<div class="loginView">
<asp:LoginView ID="MasterLoginView" runat="server">
<LoggedInTemplate>
Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" />
<asp:Label ID="userNameLabel" runat="server" Text="Label"></asp:Label></span>!
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/Logout.aspx"/> ]
<%--Welcome:
<span class="bold"><asp:LoginName ID="MasterLoginName" runat="server" /> </span>!--%>
</LoggedInTemplate>
<AnonymousTemplate>
Welcome: Guest
[ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ]
</AnonymousTemplate>
</asp:LoginView>
<%-- [ <asp:LoginStatus ID="MasterLoginStatus" runat="server" LogoutAction="Redirect" LogoutPageUrl="~/Logout.aspx" /> ] --%>
</div>
के बाद से VS2010 एक डिफ़ॉल्ट के साथ लॉन्च किया खाता फ़ोल्डर में लॉगिन पेज, मैंने पृष्ठ में एक अलग लॉग बनाने के लिए जरूरी नहीं सोचा था, इसलिए मैंने पृष्ठ में एक ही लॉग का उपयोग किया था। कृपया नीचे लॉगिन नियंत्रण के लिए कोड पाएं:
<asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false">
<LayoutTemplate>
<span class="failureNotification">
<asp:Literal ID="FailureText" runat="server"></asp:Literal>
</span>
<asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failureNotification"
ValidationGroup="LoginUserValidationGroup"/>
<div class="accountInfo">
<fieldset class="login">
<legend style="text-align:left; font-size:1.2em; color:White;">Account Information</legend>
<p style="text-align:left; font-size:1.2em; color:White;">
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User ID:</asp:Label>
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
CssClass="failureNotification" ErrorMessage="User ID is required." ToolTip="User ID field is required."
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p style="text-align:left; font-size:1.2em; color:White;">
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
<asp:TextBox ID="Password" runat="server" CssClass="passwordEntry"
TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required."
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p style="text-align:left; font-size:1.2em; color:White;">
<asp:CheckBox ID="RememberMe" runat="server"/>
<asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" CssClass="inline">Keep me logged in</asp:Label>
</p>
</fieldset>
<p class="submitButton">
<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In"
ValidationGroup="LoginUserValidationGroup" onclick="LoginButton_Click"/>
</p>
</div>
</LayoutTemplate>
</asp:Login>
तब मैंने प्रमाणीकरण के लिए अपना कोड लिखा क्योंकि मेरा अपना डेटाबेस था। निम्नलिखित प्रदर्शित करता है लॉगिन बटन में कोड घटना .:
public partial class Login : System.Web.UI.Page
{
//create string objects
string userIDStr, pwrdStr;
protected void LoginButton_Click(object sender, EventArgs e)
{
//assign textbox items to string objects
userIDStr = LoginUser.UserName.ToString();
pwrdStr = LoginUser.Password.ToString();
//SQL connection string
string strConn;
strConn = WebConfigurationManager.ConnectionStrings["CMSSQL3ConnectionString"].ConnectionString;
SqlConnection Conn = new SqlConnection(strConn);
//SqlDataSource CSMDataSource = new SqlDataSource();
// CSMDataSource.ConnectionString = ConfigurationManager.ConnectionStrings["CMSSQL3ConnectionString"].ToString();
//SQL select statement for comparison
string sqlUserData;
sqlUserData = "SELECT StaffID, StaffPassword, StaffFName, StaffLName, StaffType FROM Staffs";
sqlUserData += " WHERE (StaffID ='" + userIDStr + "')";
sqlUserData += " AND (StaffPassword ='" + pwrdStr + "')";
SqlCommand com = new SqlCommand(sqlUserData, Conn);
SqlDataReader rdr;
string usrdesc;
string lname;
string fname;
string staffname;
try
{
//string CurrentData;
//CurrentData = (string)com.ExecuteScalar();
Conn.Open();
rdr = com.ExecuteReader();
rdr.Read();
usrdesc = (string)rdr["StaffType"];
fname = (string)rdr["StaffFName"];
lname = (string)rdr["StaffLName"];
staffname = lname.ToString() + " " + fname.ToString();
LoginUser.UserName = staffname.ToString();
rdr.Close();
if (usrdesc.ToLower() == "administrator")
{
Response.Redirect("~/CaseAdmin.aspx", false);
}
else if (usrdesc.ToLower() == "manager")
{
Response.Redirect("~/CaseManager.aspx", false);
}
else if (usrdesc.ToLower() == "investigator")
{
Response.Redirect("~/Investigator.aspx", false);
}
else
{
Response.Redirect("~/Default.aspx", false);
}
}
catch(Exception ex)
{
string script = "<script>alert('" + ex.Message + "');</script>";
}
finally
{
Conn.Close();
}
}
मेरे प्रमाणीकरण पूरी तरह से काम करता है और पेज नामित गंतव्य के लिए रीडायरेक्ट कर दिया जाता क्लिक करें। हालांकि, लॉगिन दृश्य उपयोगकर्ता नाम प्रदर्शित नहीं करता है। मैं वास्तव में उन उपयोगकर्ताओं के नाम को पारित करने का तरीका नहीं समझ सकता जिन्हें मैंने डेटाबेस से लॉगिन नाम नियंत्रण में प्रदर्शित किया था।
एक करीबी नज़र डालने पर मैंने लॉगआउट टेक्स्ट भी देखा जो सफल लॉग इन के बाद प्रदर्शित होना चाहिए। जो मुझे आश्चर्यचकित करता है कि क्या मास्टरपेज पर लॉग इन टेम्पलेट नियंत्रण भी सभी पर या फिर भी अज्ञात टेम्पलेट नियंत्रण प्रदर्शित करता है जो प्रदर्शित करता रहता है।
मुझे उम्मीद के अनुसार काम करने के लिए कैसे मिलता है? कृपया मदद करें ....