Я попробовал этот кодпоказать сообщение, когда неправильно Войти
Когда я войти в систему с неправильным именем пользователя и паролем, то он перенаправляет на webform2.aspx где я хочу, чтобы показать сообщение Неправильный логин и пароль
как я сделай это ?
я пытаюсь ниже код, но он не работает
protected void Button1_Click(object sender, EventArgs e)
{
if(loginmethod(txt_us.Text,txt_pwd.Text)!="NA")
{
FormsAuthentication.Initialize();
String strRole =Assignroles(txt_us.Text);
FormsAuthenticationTicket fat = new FormsAuthenticationTicket(1, txt_us.Text, DateTime.Now, DateTime.Now.AddMinutes(30), false, strRole, FormsAuthentication.FormsCookiePath);
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName,
FormsAuthentication.Encrypt(fat)));
loginmethod(txt_us.Text, txt_pwd.Text);
Response.Redirect("WebForm2.aspx");
}
else
{
Label1.Text = ("Incorrect UserName/Password");
Label1.Visible = true;
}
txt_us.Text = "";
txt_pwd.Text = "";
}
private string loginmethod(string UserName, string Password)
{
try
{
login_class lg_class = new login_class();
Entities2 login = new Entities2();
string logn = Convert.ToString(lg_class.loginfu(UserName, Password).Rows[0]["id"]);
Session["ID"] = logn.ToString();
return (logn);
}
catch (Exception ex)
{
return (ex.Message.ToString());
}
}
метод loginfu
public DataTable loginfunction(string username,string password)
{
try
{
Entities2 lg = new Entities2();
List<SP_GetLogin_Result> gr = lg.SP_GetLogin(username, password).ToList();
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(string));
foreach (var l in gr)
{
dt.Rows.Add(l.id);
}
return dt;
}
catch (Exception)
{
throw new Exception();
}
}
UPDATE
я это сделать, но это показать ошибку
Entities2 lg = new Entities2();
DataTable dt = new DataTable();
dt=lg.SP_GetLogin(username,password).ToList();
if (dt.Rows.Count== 0)
{
return "NA";
}
else
{
return dt.Rows[0].ID.ToString();
}
«System.Data.DataRow» не содержит определения для «ID», и не может быть найден идентификатор «ID» расширения, принимающий первый аргумент типа «System.Data.DataRow» (вам не хватает директивы using или ссылка на сборку?)
не удается неявно преобразовать тип 'строка' в '' System.Data.DataTable
'System.Collections.Generic.List' до 'System.Data.DataTable'
Debug и проверить, что loginmethod вернуться, когда вы вводите неверный логин и пароль. –
Исключение происходит при улове метода входа. Нет строки в позиции 0. @HrkPatel – user6628729
, пожалуйста, покажите нам ваш метод loginfu. Или вы можете проверить, не будет ли строка после этого метода возвращать «NA» –