asp.net-mvc - Asp.Net Ajax.BeginForm 和 UpdateTargetId 不起作用

标签 asp.net-mvc ajax

我在HomeController中有这个:

public ActionResult Details(string id)
    {
        var customer = Customers.GetCustomersById(id);
        return PartialView("CustomerDetails", customer);
    }

Index.aspx中:

<div>
        <% using (Ajax.BeginForm("Details", new AjaxOptions
           {
               UpdateTargetId = "customerDetails",
               InsertionMode = InsertionMode.Replace,
               HttpMethod = "POST"
           }))
           { %>
        <p>
            Customer:
            <%=Html.DropDownList("id")%></p>
        <p>
            <input type="submit" value="Details" /></p>
        <% } %>
    </div>
    <div id="customerDetails">
</div>

最后在CustomerDetails.ascx中我有:

  <fieldset>
        <legend>Fields</legend>
        <p>
            Name:
            <%= Html.Encode(Model.Name) %>
        </p>
        <p>
            Credit:
            <%= Html.Encode(Model.Credit) %>
        </p>
        <p>
            CustomerID:
            <%= Html.Encode(Model.CustomerID) %>
        </p>
    </fieldset>
    <p>
        <%=Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) %> |
        <%=Html.ActionLink("Back to List", "Index") %>
    </p>

CustomerDetails.ascx 是通过右键单击“详细信息”方法并选择“添加 View ”,然后选择部分 View 和强类型 View 来生成的。

我希望它能够以“Ajax 方式”更新 Index.html 中名为“customerDetails”的 div 中的客户详细信息。问题是,按详细信息按钮后,会打开一个新页面,其中包含正确的详细信息。输出页面没有母版页颜色或布局。

如果我在详细信息方法中进行调试,则客户对象的内容是正确的。

感谢任何帮助!

/pom

最佳答案

最可能的罪魁祸首是您没有在页面上包含 MicrosoftAjax.js 和 MicrosoftMvcAjax.js。这会导致 javascript 失败,因为它找不到必要的函数,并且表单通过 Ajax 正常提交。

关于asp.net-mvc - Asp.Net Ajax.BeginForm 和 UpdateTargetId 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1617642/

相关文章:

javascript - 进行 ajax 调用时如何尊重客户端验证

javascript - 如何自定义此 Google 条形图?

asp.net-mvc - MVC 3 - 使用 List 类型属性绑定(bind)到复杂类型

c# - MVC Action 属性测试

asp.net-mvc - 支持 dropdownlist .NET MVC 中的 optgroup?

jquery - 文本字段自动完成 - 仅允许在自动完成选项内提交

javascript - 如何理解 jQuery 返回的对象

javascript - AJAX jQuery 每 5 秒刷新一次 div

javascript - AJAX 生成的选择不会重定向

c# - 我们能否将 Microsoft Access 引擎捆绑并引用为二进制文件的一部分以进行部署?