モデルにバインドされた部分ビュー内でkendoウィンドウとAjax.BeginForm()を使用しています。 ウィンドウはストリームに直接レンダリングされます。ここでフォームを2回目に送信するときに異常な動作が発生する
@{
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フィールドでもあります。私はあなたが窓の前のインスタンスから残されたいくつかの成果物を持っている賭ける
おかげ
私もまったく同じ振る舞い 'の' を使用しようと試みました。ポストバックはここでは問題ではないようです。 –
あなたがページに来るときにまず2つのことを確認してください。あなたがURLで送信しているもの(Querystring)が壊れていて、もう1つはチェックをキャッチしています – Bharat
クエリーストリングが良いです。私が言ったように、新しいモデルは実際には部分的なビューに渡されています。キャッシングをテストするにはどうすればよいですか? –