Я новичок в MVC Framework.Я видел некоторые ссылки переполнения стека, но не понял.
Я попробовал приведенный ниже код, может кто-нибудь сказать мне, что с этим не так?
Я создаю3 модели
1.SignIn.cs
public class SignIn
{
public string userName { get; set; }
public string password { get; set; }
public string getSignIn(string name,string pword)
{
if(name.equals('test') && pword.equals('xxx'))
{
return "correct";
}
else
{
return "Failed";
}
}
}
2.SignUp
public class Signup
{
public string name { get; set; }
public string emailId { get; set; }
public string mobileNo { get; set; }
public string password { get; set; }
public string setUser(string profileName, string email,string mobile,string pword)
{
var cs = ConfigurationManager.ConnectionStrings["csTest"].ConnectionString;
var outputValue = "";
try
{
using (SqlConnection con = new SqlConnection(cs))
{
//Database code
}
return outputValue;
}
catch(Exception ee)
{
return ee.ToString();
}
}
}
3.vwSignINAndSignUP
public class vwSignINAndSignUP
{
public SignIn getSignin { get; set; }
public Signup setSignUp { get; set; }
}
HomeController
public ActionResult IndexLoginRegister()
{
Models.vwSignINAndSignUP vmSign = new Models.vwSignINAndSignUP ();
string uname = vmSign.getSignin.userName;
string pword = vmSign.getSignin.password;
//NOTE: For testing, I am directly printing using below code, otherwise I will pass to SignIn Model to verify
return Content("Username = "+uname+", Password = "+pword);
}
Я пытаюсь разделить Вход и Регистрация в одном представлении.
Index.cshtml
@using TestMVC.Models
@model vwSignINAndSignUP
@using (Html.BeginForm("IndexLoginRegister", "Home",FormMethod.Post))
{
@Html.TextBoxFor(si=> si.getSignin.userName,new {@class="form-control",@id="txtLogin" })
@Html.TextBoxFor(si => si.getSignin.password, new { @class="form-control",@id = "txtPassword", @type="password"})
<input type="submit" class="btn btn-sm btn-primary btn-rounded" value="Login" id="btnLoginSubmit" />
}
@using (Html.BeginForm("IndexLoginRegister", "Home",FormMethod.Post))
{
@Html.TextBoxFor(su => su.setSignUp.name, new { @class = "form-control", @id = "txtName" })
@Html.TextBoxFor(su => su.setSignUp.emailId, new { @class = "form-control", @id = "txtEmailId" })
@Html.TextBoxFor(su => su.setSignUp.mobileNo, new { @class = "form-control", @id = "txtMobileNo" })
@Html.TextBoxFor(su => su.setSignUp.password, new { @class = "form-control", @id = "txtPassword", @type = "password" })
<input type="submit" class="btn btn-sm btn-primary btn-rounded" value="Signup" id="btnSubmit" />
}
ОШИБКА
при попытке войти в систему отображается следующая ошибка
System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта.
string uname = vmSign.getSignin.userName;