C# 第二次提交表格时的奇怪行为
我在绑定到模型的局部视图中使用kendo窗口和Ajax.BeginForm()。 窗口直接渲染到流中C# 第二次提交表格时的奇怪行为,c#,html,forms,razor,kendo-ui,C#,Html,Forms,Razor,Kendo Ui,我在绑定到模型的局部视图中使用kendo窗口和Ajax.BeginForm()。 窗口直接渲染到流中 @{ Html.Kendo().Window() .Name("name") .Content( @<text> @using (Ajax.
@{
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();
}
@{
Html.Kendo().Window()
.姓名(“姓名”)
.内容(
@
@使用(Ajax.BeginForm(“PostReview”、“Review”),新的AjaxOption
{
HttpMethod=“Post”,
InsertionMode=InsertionMode.Replace,
OnSuccess=“onSuccessReviewOrderDialgForm”,
},新
{
@id=“ReviewOrderDialgForm”
}))
{
@HiddenFor(m=>m.ordereview)
...
}
)
.Draggable()
.可见(假)
.模态(真)
.Render();
}
事情是这样的:
发布第一个模型后,以下帖子将始终存储OrderReviewId
的上一个值(第一个模型)。
现在我知道HtmlHelpers将始终使用从服务器返回的帖子的值,但在这种情况下,我看不出问题所在。
发帖后,窗户关上了。之后,新模型(具有正确的值)将被传递到相同的局部视图,包括剑道窗口
,并使用新模型进行渲染!模型调试模式显示所有字段的正确值。
但是通过过账,OrderReviewId
的值仍然是原来的值。
这怎么可能呢?为什么其他字段(此处未显示)不正确?它们也是HtmlHelper字段
谢谢我敢打赌,您一定有以前的窗口实例遗留下来的一些工件。您能否确保在关闭对话框后将其从dom中完全删除。比如:
if ($("#frmTest")!= null){
$("#frmTest").data("kendoWindow").destroy();
$("#frmTest").empty();
}
我还尝试使用行为完全相同的“”。这里的回发似乎不是问题。首先,当你进入页面时,检查两件事:你在url(Querystring)中发送的任何东西都被破坏,第二件事是检查Catching Querystring是否良好。正如我所说的,新模型实际上正在传递给局部视图。我如何测试缓存?此外:如果缓存是个问题,为什么只有这个字段会受到影响?检查元素并检查那里的网络,它将显示数据是否更改@Ross Bush:这正是问题的原因。我把窗户打碎后,问题就解决了。但很奇怪。。。