0

私は2つのビューが言うview1view2。「CreatenewEmployee」という名前view1のリンクがあります。view2ユーザーがそれをクリックすると、view2が表示されます。View2従業員が基本的な詳細を記入するフォームが含まれています。フォームに記入した後、従業員は[保存]をクリックすると、データがデータベースに保存されます。[表示]には、すべての従業員の詳細が表示されます。各従業員の詳細の後に編集リンクがあります。従業員がそれをクリックすると、view2データが入力されて再び表示され、ユーザーが編集して、[保存]と[データベースに保存されたデータ]をクリックします。最後に、以下の3つのシナリオがあります。-

1)表示:-空のフォームと従業員が入力しview2て表示する通常のアクション方法。view2

2)記入view2:-[HttpPost]フォームを投稿するアクションメソッド

3)編集view2-view2入力されたものを編集して保存します。

私の質問は、これらの3つのシナリオが保存ビューでどのように発生するかということです。アクションメソッドを作成する方法は2つしかありません。1つはhttpgetで、もう1つはhttppostで、最終的には毎回2つのシナリオしか実行しません。

前もって感謝します!!

4

3 に答える 3

0

HttpPut編集/更新に使用できます。

このマトリックスは、RESTおよび各CRUDアクションに使用される動詞を適切に表したものです。

現在、デフォルトでは、ASP.NETMVC3はPutFormメソッドをサポートしていません。この目的のためにMVCContribを使用できます。SimplyRestfulRouteHandler

于 2013-03-05T11:56:06.303 に答える
0

ビューが編集モードか表示モードかを示すブール値または列挙型のモード変数を含む View2 のビュー モデルを作成するだけです。

次に、アクション メソッドの HttpGet バージョンで、ビュー モデル オブジェクトを設定し、このビュー モデル オブジェクトをビューに渡してレンダリングします。

次に、ビューは、指定された情報を使用してさまざまな入力またはその他の HTML 要素をレンダリングし、前述のブール値または列挙値を使用して、ビューを表示モードでレンダリングするか編集モードでレンダリングするかを決定します。

HttpPost メソッドは同じままです。

于 2013-03-05T11:59:42.920 に答える
0

[HttpPost]ユーザーの作成時と保存時の両方で使用します。実際には、両方のケースを処理する同じメソッドである可能性があります。作成時Idにはフォームの非表示フィールドは空になり、編集時には同じフィールドに値が設定されます (Id作成時に割り当てられます)。

メソッドは、このフィールドの値を使用して何をすべきかを決定できます。

于 2013-03-05T11:51:47.223 に答える