MVC3编辑网格AJAX功能显示奇怪的行为

时间:2011-12-01 13:25:53

标签: asp.net-mvc-3 asp.net-ajax

我遇到了AjaxForm的问题。这是一个冗长的描述,我已经花了很多时间,所以想要一些想法。

我有一个显示电话(或其他)详细信息的网格。我正在尝试使用网格上方的编辑Div来编辑网格。当编辑保存时,我正在刷新整个网格div。 见下文

   <div class="boxBody AccordionDetails" style="width: 980px; padding: 10px;">
        <div id="@Constants.AjaxPhoneResult" title="Phone Numbers">
    </div>
    <div id="@Constants.AjaxPhoneEditListResult">
            @Html.Partial("_PhoneListEdit", @Model)
      </div>

网格由部分&#34; _PhoneListEdit&#34;作为HTML表格返回。每行都有一个Ajax Action Link,将以下部分内容呈现在上面的AjaxPhoneResult Div-见下面

@using (Ajax.BeginForm(action,
   new AjaxOptions
        {
            UpdateTargetId = Constants.AjaxPhoneEditListResult,
            InsertionMode = InsertionMode.Replace,
            HttpMethod = "POST"
        }
            ))
{ 
       @Html.HiddenFor(model => model.ContactID)
        @Html.HiddenFor(model => model.ID)
            @Html.LabelFor(model => model.PhoneNum)
            @Html.EditorFor(model => model.PhoneNum)
        <input id="PhoneSubmit" type="submit" value="Save" />
} 

上面的Ajax表单正确呈现,因为我可以使用FireBug观察。但是当我按下Save时,结果(Json部分视图字符串)以新的形式显示,而不是用更新的数据替换网格的内容。同时我确信我已经包含了JQuery ajax js脚本,有趣的是,如果我使用JQuery Dialog在弹出窗口中显示AJAX表单,尽管生成的标记是相同的,但Ajax表单正常工作。

我想知道是否需要在表单加载时对AJAX表单元素执行某些操作?也许这是在使用Jquery对话框时执行的。任何帮助将不胜感激。

0 个答案:

没有答案