第二次提交表单时的奇怪行为

本文关键字:提交 表单 第二次 | 更新日期: 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(); 
}