0

View クラスで URL パラメータを渡す必要があります。コードは次のとおりです。

            if (!ModelState.IsValid)
            {
                return View(model);
            }

これは、モデル ベースのビューを返すだけでなく、特定のパラメーターを URL に追加する必要があります (パラメーターはビューの詳細を変更しませんが、自動的に生成される数少ない SessionKeys (アプリの表示に使用されるタブ/ウィンドウごとに 1 つ) の 1 つであるため必要です) と私paramとして渡す以外に、それに到達する方法はありません(毎回生成することはできません。「cos paramsは変更されます。更新ごとに値がリセットされるため、グローバル変数にすることはできません。できません。 static は evul であるため、 static である必要があります)。

このアクションは、actionLink などではなく、フォームと送信ボタンを使用して呼び出されます。

EDIT1:更新後にURLにとどまるためにパラメータが必要です。または、更新/検証が失敗しても持続するデータを保持する他の形式が必要です。

4

2 に答える 2

1

あなたが正しく理解している場合、あなたのページで URL を生成する際に使用する必要があるデータがありますか? これは ViewModel の一部を形成するだけです。または、ビューがレンダリングするために必要なデータであるため、少なくともそうすべきです。

ViewDataビュー モデルの一部ではない余分なデータを追加するために使用できます。または、さらに良いのは、データをメンバーとして追加することです。同様に、異なるビュー モデルを持つ異なるビューがこのデータを必要とする場合は、ViewModel 基本クラスを追加してそこから派生させ、そのデータを共有できるようにします。

于 2012-06-21T07:37:18.320 に答える
1

使用する

RedirectToAction("actionName","controller",
     new RouteValueDictionary(new {param1="value",param2="value2"});

または、隠しフィールドを使用して値をページに保存し、必要に応じてこれを渡すことができます..

于 2012-06-21T07:24:35.037 に答える