【问题标题】:How do I get Ajax form submissions to work in ASP.net MVC?如何让 Ajax 表单提交在 ASP.net MVC 中工作?
【发布时间】: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


    【解决方案1】:

    您的母版页中包含的 javascript 顺序错误。 重新排序,以便将 MicrosoftAjax.js 包含在三个中的第一个,这样它就可以工作了。

    <script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
    <script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
    

    【讨论】:

      【解决方案2】:

      只是抛出一些想法......

      http://www.asp.net/learn/MVC/tutorial-33-cs.aspx

      您的控制器操作在这样定义的类中?

      public class MyController : Controller
      

      显然这个类的名字必须以单词控制器结尾。

      【讨论】:

      • 我使用的是默认的 HomeController,所以是的,它被称为 HomeController 并扩展了 Controller。
      猜你喜欢
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      相关资源
      最近更新 更多