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

时间:2016-09-27 10:51:41

标签: c# html forms razor kendo-ui

我在绑定到模型的局部视图中使用了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字段。

由于

1 个答案:

答案 0 :(得分:0)

我打赌你在前一个窗口实例中留下了一些文物。关闭后,可以确保对话框完全从dom中删除。类似的东西:

if ($("#frmTest")!= null){
   $("#frmTest").data("kendoWindow").destroy();
   $("#frmTest").empty(); 
}