Ich bin neu in MVC und versuche, AJAX Anrufe und Modellvalidierung Kopf zu bekommen. Hier ist, was ich habe:Wie kann ich PartialView-, AJAX- und Modellvalidierungsattribute in ASP.NET MVC nutzen?
Eine Controller-Aktion, die eine Ansicht mit einem einzelnen Textfeld und einem Link dient. Die Ansicht wie folgt aussieht:
<div>
...
<input type="text" name="registration" value=""/><a id="checkRegoLink" href="#">Check rego</>
...
</div>
Die checkRegoLink hat eine POST $ Schnipsel() Aufruf einer Aktion, die eine PartialViewResult dient.
$.ajax({
url:"/Entry/CheckRego",
type: "POST",
data: {...stuff...},
success: function (data, status, request){
$("#target").html(data);
},
});
Die PartialViewResult dient eine stark typisierte Teilansicht _CreateEntry
. Das Modell für diese Ansicht enthält einige Attribute für verschiedene Eigenschaften. Hier ist ein Ausschnitt aus dieser Teilansicht:
@model namespace.EntryModel
@{ Html.EnableClientValidation(); }
@using (Html.BeginForm("CreateEntry", "Entry", FormMethod.Post))
{
...various entry fields, labels and stuff...
<input type="submit" value="Add Entry"/>
}
Meine Frage ist, wie kehre ich, dass Teilansicht wieder in die $("#target")
div komplett mit Validierung Fehlermeldungen. In der Controller-Aktion, die den POST aus der stark typisierten Sicht akzeptiert habe ich versucht return PartialView("_CreateEntry",model)
- aber das die Teilansicht selbst, mit Validierung Fehlermeldungen, aber natürlich, ohne das übergeordnete Layout.
Alle Ideen würden sehr geschätzt werden. Mir geht es langsam besser, wenn ich abstimme und Antworten akzeptiere. Bitte entschuldigen Sie meine niedrigen Werte - ich werde die Antworten definitiv ablehnen und sie akzeptieren, wenn ich gehe.
Danke, Dany.
PS. Ich verwende MVC 3 neueste RC
Ja, Sie haben absolut Recht - ich hatte ein bisschen eine Gehirnblockade früher. Ich werde schließlich Ajax.BeginForm() betrachten, aber jetzt habe ich es geschafft, es manuell mit $ .ajax() jquery Anruf zu verbinden. Eine Frage allerdings - wenn ich Ajax.BeginForm() innerhalb der Teilansicht verwende, kann ich ein div außerhalb davon anvisieren, dh. in der Elternansicht? – codedog
Ich bin nicht sicher, ob Sie es ausprobieren sollten. – Jack