第二次提交表单时的奇怪行为
本文关键字:提交 表单 第二次 | 更新日期: 2023-09-27 18:09:12
我在绑定到模型的部分视图中使用kendo窗口和Ajax.BeginForm()。窗口直接呈现到流中。
@{
Html.Kendo().Window()
.Name("name")
.Content(
@<text>
@using (Ajax.BeginForm("PostReview", "Review", new AjaxOptions
{
HttpMethod = "Post",
InsertionMode = InsertionMode.Replace,
OnSuccess = "onSuccessreviewOrderDialogForm",
}, new
{
@id = "reviewOrderDialogForm"
}))
{
@Html.HiddenFor(m => m.OrderReviewId)
...
}
</text>
)
.Draggable()
.Visible(false)
.Modal(true)
.Render();
}
事情是这样的:在发布第一个模型之后,下面的帖子将始终存储OrderReviewId
的前一个值(第一个模型)。现在我知道HtmlHelpers将始终使用从服务器发回的值,但在这种情况下,我没有看到问题。张贴完毕后,窗户将被关闭。之后,新模型(具有正确的值)被传递到包含kendo window
的相同部分视图,并使用新模型进行渲染!模型。调试模式显示所有字段的正确值。但是通过张贴,OrderReviewId
的值仍然是旧的。这怎么可能呢?为什么其他字段(这里没有显示)不正确-它们也是HtmlHelper字段。
谢谢
我敢打赌您有一些前一个窗口实例遗留下来的工件。您能确保您的对话框在关闭后完全从dom中删除吗?比如:
if ($("#frmTest")!= null){
$("#frmTest").data("kendoWindow").destroy();
$("#frmTest").empty();
}