62,243
社区成员




public class TestModel
{
[Display(Name = "用户名")]
[Required(ErrorMessage = "必填")]
public string Name { get; set; }
[Display(Name = "密码")]
[Required(ErrorMessage = "必填")]
public string Password { get; set; }
}
public ActionResult Test()
{
TestModel testModel = new TestModel()
{
Name = "用户1",
Password = "password1"
};
return View(testModel);
}
[HttpPost]
public ActionResult Test(TestModel testModel)
{
bool isOk = true;//这里假设密码是对
if (isOk)
{
testModel.Name = "用户2";//此行没起作用
testModel.Password = "password2";//此行没起作用
}
else
{
ModelState.AddModelError("","密码错误");
}
return View(testModel);
}
@{
Layout = null;
}
@model Web.Models.Member.TestModel
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div>
@Html.LabelFor(model => model.Name)
@Html.TextBoxFor(model => model.Name)
</div>
<div>
@Html.LabelFor(model => model.Password)
@Html.TextBoxFor(model => model.Password)
</div>
<div><input type="submit" value="提交" /></div>
}
</div>
</body>
</html>
static TestModel testModel = new TestModel()//这里是关键
{
Name = "用户1",
Password = "password1"
};
public ActionResult Test()
{
return View(testModel);
}
[HttpPost]
public ActionResult Test(TestModel postModel)
{
bool isOk = true;//这里假设密码是对
if (isOk)
{
testModel.Name = "用户2";//此行没起作用
testModel.Password = "password2";//此行没起作用
}
else
{
ModelState.AddModelError("","密码错误");
}
return View(testModel);
}
TestModel testModel = new TestModel()
{
Name = "用户1",
Password = "password1"
};
幸亏看了下,这亮瞎眼啊,你这个都是每次Get访问实例化一个全新的TestModel ,然后赋值 "用户1"……