In regulären Asp.Net, wenn Sie einen Fehler, z. B. eine doppelte ID, ich Panels für Kontrollen, Fehlermeldung Etiketten, etc. Ich frage mich, wie man das erreichen Gleiches mit MVC 4.Post zurück Fehler in MVC 4
Momentan habe ich auf meiner Indexseite eine ID, Name & Adressspalte und eine Submit-Schaltfläche. Meine Httppost Action hier:
[HttpPost]
public ActionResult Index(Person p)
{
if (ModelState.IsValid)
{
PersonInfo pi = new PersonInfo();
var duplicate = from d in db.PersonInfoes
where d.Id == p.Id
select d;
if (duplicate.Any())
{
return View("Duplicate");
}
else
{....}
Wenn ich ein Duplikat Id, bei Vorlage der Seite eingeben, ich dieselbe Ansicht schreiben muß („Index“) Seite Benutzer weiß, dass es eine ID bereits, aber derzeit werde ich auf eine andere Ansicht umleiten, um den Benutzer als Duplikat zu informieren, und ich denke nicht, dass dies der richtige Weg ist, dies zu tun. Ich lerne MVC, BTW und damit diesen Zweifel. Meine doppelte cshtml hier:
@{
ViewBag.Title = "Duplicate";
}
<h2>Duplicate</h2>
<h3>Duplicate ID found !!</h3>
<p>Please correct the ID and re-enter !</p>
<br/><br/>
@Html.ActionLink("Back to Data Entry","Index")
Alle Hinweise helfen würde.
Dank @Shyju, scheint interessante Lösung und funktioniert, außer, ich muss herausfinden, wie Sie den Fehler zum Modell State Dictionary hinzufügen. Atleast, jetzt, ohne es hinzuzufügen, wird es zurück zur gleichen Ansicht mit allen Variablen im Feld. – Ron
'ModelState.AddModelError (string.Empty," Duplicate gefunden ");' ist, wie Sie den Fehler hinzufügen. Gehen Sie die Antwort noch einmal sorgfältig durch. – Shyju
Ja, ich habe den ModelState.AddModelError (string.Empty, "Duplicate found") hinzugefügt; Vor. Aber jetzt, nach Ihrer Einsicht, habe ich @ Html.ValidationSummary (false) hinzugefügt und jetzt wird der Fehler als Duplicate gefunden. Danke eine Tonne, #Shyju, - 1 gekreuzt, 99 Millionen jetzt zu gehen;) – Ron