我有模型(用户)下面,我用它来添加新用户,更新现有用户。 当我添加一个新用户它需要输入用户名和密码,当我更新它是必需的,因为它是不允许更改密码只输入用户名。 这是问题所在,因为增加进入我既名和密码值,以便ModelState.IsValid返回true,但在更新的用户在没有输入密码的新用户一切工作正常,所以它总是空值是什么让ModelState.IsValid返回false所有的时间。 有没有使用相同的模型,即使在添加视图则需要口令,并在更新查看它不是一个办法吗? 请,有什么建议?
public class User {
public int ID { get; set; }
[Display(Name = "Nome do Usuário")]
[Required(ErrorMessage = "Digite o Nome do Usuário.")]
public string name { get; set; }
[Display(Name = "Senha")]
[Required(ErrorMessage = "Digite a Senha.")]
public string password { get; set; }
}
public ActionResult Add()
{
return View();
}
[HttpPost]
public ActionResult Add(User user)
{
UsuariosViewModel viewModel = new UsuariosViewModel();
if (ModelState.IsValid)
{
viewModel.Msg = new AdmUsuarios().CadastraUsuario(user);
}
return View(viewModel);
}
public ActionResult Update(int id)
{
UsuariosViewModel viewModel = new UsuariosViewModel();
using (var dataContext = new DBEntities())
{
Repository<User> repository = new Repository<User>(dataContext);
viewModel.User = repository.GetById(id);
}
return View(viewModel);
}
[HttpPost]
public ActionResult Update(User user, int id)
{
UsuariosViewModel viewModel = new UsuariosViewModel();
if (ModelState.IsValid)
{
viewModel.Msg = new AdmUsuarios().AlteraUsuario(user, id);
}
return View();
}