我遇到了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对话框时执行的。任何帮助将不胜感激。