編集可能な情報を保持する一連のタブを含むビューがあります。各タブには「保存」ボタンがあり、これを押すと、このタブのデータが中間オブジェクトの静的インスタンスにプッシュされます。編集が終了したら、ユーザーが [変更を適用] ボタンをクリックすると、中間オブジェクトの変更がデータベースにコミットされます。
Html.BeginForm("somemethod", "somecontroller"))
問題は、ページがビューを返す必要があるため、ユーザーが何らかの機能のストア ボタンをクリックしたときです。そのため、ページの読み込み時にフィールドに中間オブジェクトを入力する必要があります。そうしないと、コミットされていない変更が表示されませんが、ユーザーがページを更新すると、コミットされていない変更が中間オブジェクトとして表示されたままになります。ページが更新されると無効になります。そのため、ユーザーがページを更新してフォームが再びビューを返すこととの違いが必要です。
したがって、私の質問にはいくつかの解決策があります。ビューを返す必要のない同様の方法でフォームを作成するにはどうすればよいですか?現時点では、フォームは次のように表示されます。
@using (Html.BeginForm("ModifyRemoteHost", "Management", FormMethod.Post, new { id="userForm"}))
{
@Html.TextBox("remoteHostName", null, new { placeholder = "Add User" })
<input class="k-button" id="remoteHostAdd" name="sourceOperation" type="submit" value="Add" />
<div id="status"></div>
}
<div id="hostsGrid"></div>
hostsGrid
ページの読み込み時に入力される場所。
また
中間オブジェクトを破棄するかどうかがわかるように、このビューに到達した方法を伝える方法はありますか?
また
再設計?
私は MVC を初めて使用するので、私がやっていることは無知である場合は申し訳ありません。