Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在asp.net MVC4中登录时获取对象空引用错误_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 在asp.net MVC4中登录时获取对象空引用错误

Asp.net mvc 在asp.net MVC4中登录时获取对象空引用错误,asp.net-mvc,Asp.net Mvc,嗨,我想为会员和管理员也做一个登录页面。。 在这里,我完成了以下代码: 在型号中: public class Login { public int ID { get; set; } public string UserName { get; set; } public string Password { get; set; } } <%@PageTitle=""Langua

嗨,我想为会员和管理员也做一个登录页面。。 在这里,我完成了以下代码:

在型号中:

   public class Login
        {
             public int ID { get; set; }
             public string UserName { get; set; }
             public string Password { get; set; }
        }
<%@PageTitle=""Language="C#"Inherits="System.Web.Mvc.ViewPage<SHGManagementProject.Models.Login>"%>

<h2>Login</h2>
<%using (Html.BeginForm("Login", "Home", FormMethod.Post))
  { %>
<%:Html.ValidationSummary(true) %>
<fieldset>
<legend>Log in Form</legend>
<div>
UserName
<%:Html.TextBoxFor(m=>m.UserName) %>
</div>
<br/>
<div>
        Password
<%:Html.PasswordFor(m=>m.Password) %>
</div>
<br/>

<div>
<inputid="SubmitLogin"type="submit"value="Login"/>
<%--<%:Html.ActionLink("Are you Member? click Here!!","Login","Account") %>--%>
</div>
</fieldset>
<%} %>
控制器

[HttpPost]
public ActionResult Login(Login login, MemberDetailsWrapper memberlogin)
{
    WrapperDB db = new WrapperDB();
    if (login.UserName.Equals("admin") &&login.Password.Equals("admin"))     //This will check for admin
    {
           returnRedirectToAction("Index");
    }
    else if
    (
        (login.UserName.Equals(memberlogin.objMemberBasicInformation.MemberFirstName.Equals(db.MemberBasicInformationDBS.Where(a =>a.MemberFirstName.Equals(a.MemberFirstName))))
        && (login.Password.Equals(memberlogin.objMemberBasicInformation.Qualification.Equals(db.MemberBasicInformationDBS.Where(a=>a.Qualification.Equals(a.Qualification))))))
    )
//This is For Member Login When Member Enter His FistName as a userName and Qualification as Password then Both credential match with the data present in db and return the respected person information
    {
           return RedirectToAction("Index","MemberDetails");
    }               
    ModelState.AddModelError("", "UserName And Password is Incorrect!!");
    return View();
}
视图中:

   public class Login
        {
             public int ID { get; set; }
             public string UserName { get; set; }
             public string Password { get; set; }
        }
<%@PageTitle=""Language="C#"Inherits="System.Web.Mvc.ViewPage<SHGManagementProject.Models.Login>"%>

<h2>Login</h2>
<%using (Html.BeginForm("Login", "Home", FormMethod.Post))
  { %>
<%:Html.ValidationSummary(true) %>
<fieldset>
<legend>Log in Form</legend>
<div>
UserName
<%:Html.TextBoxFor(m=>m.UserName) %>
</div>
<br/>
<div>
        Password
<%:Html.PasswordFor(m=>m.Password) %>
</div>
<br/>

<div>
<inputid="SubmitLogin"type="submit"value="Login"/>
<%--<%:Html.ActionLink("Are you Member? click Here!!","Login","Account") %>--%>
</div>
</fieldset>
<%} %>

登录
登录表格
用户名
m、 用户名)%%>

密码 m、 密码)%%>
在执行时,当我输入用户名并以管理员身份通过时,它将成功执行。。但当我输入另一个用户名和密码时,它会抛出错误NullReferenceException未经用户代码处理


请告诉我解决方案,并帮助我解决此问题,而不知道您的代码在哪里抛出错误,我假设问题归结为
memberLogin
参数

[HttpPost]
public ActionResult Login(Login login, MemberDetailsWrapper memberlogin)
{
    WrapperDB db = new WrapperDB();
    if (login.UserName.Equals("admin") &&login.Password.Equals("admin"))     //This will check for admin
    {
           returnRedirectToAction("Index");
    }
    else if (memberlogin != null)
    {
       if   
        (
            (login.UserName.Equals(memberlogin.objMemberBasicInformation.MemberFirstName.Equals(db.MemberBasicInformationDBS.Where(a =>a.MemberFirstName.Equals(a.MemberFirstName))))
            && (login.Password.Equals(memberlogin.objMemberBasicInformation.Qualification.Equals(db.MemberBasicInformationDBS.Where(a=>a.Qualification.Equals(a.Qualification))))))
        )
        {
           return RedirectToAction("Index","MemberDetails");
        }
        else
        {
            ModelState.AddModelError("", "UserName And Password is Incorrect!!");
            return View();
        }
    }

    ModelState.AddModelError("", "UserName And Password is Incorrect!!");
    return View();
}

我添加了一个对
memberlogin
的检查,以检查它是否为
null
,但请仔细检查括号,因为我刚刚手动键入了此内容。

您是否在调试程序中逐步检查了代码,以查看错误出现的位置?请参阅。最有可能的是
memberlogin.objMemberBasicInformation.MemberFirstName
中的任何一个都是
null
。指出导致错误的行