Ich bin sehr neu in der AJAX und Javascript-Welt und ich versuche zu implementieren Scott Hanselman's Beispiel der Formularübergabe, um einen Teil einer Seite zu aktualisieren. Ich habe sein Beispiel fast wortwörtlich kopiert und ich kann es anscheinend nicht zur Arbeit bringen. Wenn ich auf die Senden-Schaltfläche klicke, wird die Controller-Aktion erfolgreich aufgerufen, aber das Ergebnis wird im Browser als neue Seite gerendert, anstatt nur den Bereich zu aktualisieren, den ich im Ajax-Formular angegeben habe.Wie bekomme ich Ajax-Formular-Übermittlungen, um in ASP.net MVC zu arbeiten?
Hier ist meine Ansicht Code:
<asp:Content ID="indexHead" ContentPlaceHolderID="head" runat="server">
<title>Home Page</title>
</asp:Content>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<% using (Ajax.BeginForm("TestAction", new AjaxOptions { UpdateTargetId = "target" }))
{ %>
<%= Html.TextBox("TextBox")%>
<input type="submit" value="Submit" />
<span id="target" />
<% } %>
</asp:Content>
Und mein Controller-Aktion:
public string TestAction(string TextBox)
{
return TextBox;
}
Und ich habe die folgenden Zeilen in der Masterseite
<script src="../../Scripts/MicrosoftMvcAjax.debug.js"type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
Aber es inbegriffen scheint zu tun ist, rufen Sie die Aktion und rendern das Ergebnis als eine neue Seite, anstatt den Zielbereich zu aktualisieren. Hier sind einige kleine Screenshots, um zu veranschaulichen, was passiert.
Screenshot 1 http://martindoms.com/scr1.JPG
Screenshot 2 http://martindoms.com/scr2.JPG
Irgendwelche Ideen?
Ich benutze die Standard HomeController ja, es heißt HomeController und erweitert Controller. –