在我的EspaceClient / Compte.cshtml中,我会检索部分视图。 它可以工作但是当ModelState无效时,我只检索没有主视图的局部视图。
谢谢
function partialCoordonnees() {
$.ajax({
url: '/Utilisateurs/Edit/'+ @Model.Id,
dataType: "html",
success: function (data) {
$('.fifth').html(data);
}
});
};
在我的UtilisateursController中
public ActionResult Edit(int? id)
{
Utilisateur utilisateur = db.Utilisateurs.Find(id);
return PartialView("_CoordonneesCompte", utilisateur);
}
public ActionResult Edit(Utilisateur utilisateur)
{
if (ModelState.IsValid)
{
db.Entry(utilisateur).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index", "EspaceClient", new { id=utilisateur.Id });
}
return PartialView("_CoordonneesCompte", utilisateur);
}
答案 0 :(得分:1)
不要使用 ModelState.IsValid
执行服务器端验证使用不引人注目的jQuery库进行客户端验证
在cshtml中添加 jquery.unobtrusive-ajax.min.js 和 jquery.validate.min.js
[实施例]
//this code goes in your partialview
$(function(){
//allow the validation framework to re-prase the DOM
jQuery.validator.unobtrusive.parse();
//or to give the parser some context, supply it with a selector
//jQuery validator will parse all child elements (deep) starting
//from the selector element supplied
jQuery.validator.unobtrusive.parse("#formId");
});
//then in your parent page handle the form submission
$(function(){
$("#SubmitButton").click(function(){
if (!$("#Form1").valid()){
return false;
}
});
});
此示例采用Here
形式希望它对你有所帮助......