Asp.net MVC 4 projemde, bir kullanıcının "daha fazla ayrıntı" için tıkladığı kısmi bir görünümden emin olmak istiyorum. . Verilerin kaydedilmesi sorun değil, kısmi görünümü kapatmak sorun değil, kısmi görünümü açmak sorun değil, modelim geçerli değilken (bir kullanıcı bir şeyi işaretlemeyi unuttuğunda) Sonuç olarak benim kısmi görünümüm döndü, ama olması gereken yerde değil. Sadece bağımsız bir sayfa olarak görülüyor.Model geçerli olmadığında, görünümün içinde kısmi görünümüne dönün, hata iletisiyle birlikte
Görünüm:
@model Evaluatietool.ViewModels.EvaluatorWijzigenOPViewModel
<h3>@ViewBag.Message</h3>
@using (Html.BeginForm("ChangeEvaluator", "Ontwikkelplan"))
{
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.oldEvalAccount)
@Html.HiddenFor(model => model.selectedMedewerkerAccount)
@Html.HiddenFor(model => model.eval);
@Html.HiddenFor(model => model.countMedewerkers);
...
...
<div class="Buttons">
<input type="submit" value="Submit" />
@Ajax.ActionLink("Sluiten", "Evaluatorenlijst", new AjaxOptions { OnSuccess = "HideResultDiv" })
</div>
}
Denetleyici:
[HttpPost]
public ActionResult ChangeEvaluator(EvaluatorWijzigenOPViewModel ewopvm)
{
if (ModelState.IsValid)
{
if (ewopvm.selectedObjects != null)
{
ewopvm.selectedObjects.Add(ewopvm.selectedMedewerkerAccount);
}
else
{
ewopvm.selectedObjects = new List<string>();
ewopvm.selectedObjects.Add(ewopvm.selectedMedewerkerAccount);
}
Ontwikkelplannen op = new Ontwikkelplannen();
Evaluaties e = new Evaluaties();
foreach (string s in ewopvm.selectedObjects)
{
op.ChangeEvaluator(ewopvm.newEvalAccount, ewopvm.oldEvalAccount, s, ewopvm.eval);
}
return RedirectToAction("Evaluatorenlijst");
}
return PartialView("EvaluatorWijzigenPartial", ewopvm);
}
kısmi görünümü çağıran bağlantı
@Ajax.ActionLink(item.Evaluator1.Naam, "EvaluatorWijzigenPartial", new { id = item.ID, eval = true }, new AjaxOptions { UpdateTargetId = "EvaluatorWijzigen", OnComplete = "ShowResultDiv"})
01 I ya bir yönlendirme gerçekleştirmekte ya da doğrulama başarısız olursa kısmi bir görünüm verir ChangeEvaluator
kontrol eylemi için standart Html.BeginForm
ilanı kullanan görebilir kadarıyla
, validator.unobtrusive.parse() kısmi vie kaldırılır var w. Açılan kontrol seçimlerini etkiler. Ben validator.unobtrusive.parse() yüklerken bile, hala bu sorunu çözemiyorum. Bunun için bir fikrin var. $ ('# someDivThatCOntainsYourForm'). html (sonuç); (==> Bu denetimleri kaldırırsam düzgün çalışıyorsa) – vinodh
Microsoft.jQuery.Unobtrusive.Ajax paketine sahip değilseniz, bunun işe yaramayacağını unutmayın. projenize yüklendi. Bu paket kurulduktan sonra - mükemmel! – PTD