【问题标题】:Asp.Net Axaj.BeginForm & UpdateTargetId not workingAsp.Net Axaj.BeginForm & UpdateTargetId 不工作
【发布时间】:2010-12-09 17:06:22
【问题描述】:

我在 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 是通过右键单击详细信息方法并选择“添加视图”,然后选择部分视图和强类型视图来生成的。

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

如果我在Details-method调试,客户对象的内容是正确的。

任何帮助表示赞赏!

/pom

【问题讨论】:

    标签: asp.net-mvc ajax


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 2012-12-05
    • 1970-01-01
    相关资源
    最近更新 更多