【发布时间】:2010-10-20 06:08:37
【问题描述】:
我对 AJAX 和 Javascript 世界很陌生,我正在尝试实现 Scott Hanselman's 表单提交示例以更新页面的一部分。我几乎逐字逐句地复制了他的例子,但我似乎无法让它发挥作用。当我单击提交按钮时,控制器操作被成功调用,但结果在浏览器中呈现为新页面,而不是仅更新我在 Ajax 表单中指定的范围。
这是我的查看代码:
<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
有什么想法吗?
【问题讨论】:
标签: javascript asp.net-mvc ajax form-submit