我對AJAX和Javascript世界非常陌生,我試圖實現Scott Hanselman's表單提交示例來更新頁面的一部分。我幾乎一字不差地複製了他的例子,我似乎無法讓它起作用。當我單擊提交按鈕時,控制器操作被成功調用,但結果在瀏覽器中作爲新頁面呈現,而不是隻更新我在Ajax表單中指定的範圍。如何讓Ajax表單提交在ASP.net MVC中工作?
這裏是我的視圖代碼:
<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>
我的控制器操作:
public string TestAction(string TextBox)
{
return TextBox;
}
而且我已經包含在母版頁
<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>
以下行,但所有這似乎要做的就是調用動作並將結果呈現爲新頁面,而不是更新目標範圍。這裏有一些小截圖來說明發生了什麼。
Screenshot 1 http://martindoms.com/scr1.JPG
Screenshot 2 http://martindoms.com/scr2.JPG
任何想法?
我使用默認的HomeController所以是的,它被稱爲HomeController並擴展了Controller。 – 2009-04-18 04:38:12