2

TempData オブジェクトを作成する ActionMethod があります

TempData["Message"] = new Message {Text = txtMessage, Success = false};

次に、次のようにビューで TempData を読み取ります

@{var message = TempData["Message"];}

しかし、var "message.Success" を使用しようとすると、コンパイラはプロパティを認識しません。デバッグ中に var メッセージと TempData を見ると、オブジェクトの txtMessage と Success の値を確認できます。私は何が欠けていますか?

4

2 に答える 2

3

試す

@{dynamic message = TempData["Message"];}

また

@{Message message = TempData["Message"] as Message;}

または、それがメッセージだけになることがわかっている場合

@{Message message = (Message)TempData["Message"];}
于 2013-04-09T17:14:24.600 に答える
1

動的に型付けされているとは思わないTempDataので、キャストする必要があります。ただし、匿名型ではそれができません。匿名型を実際のクラスに変換する必要があります。

これを行いたくない場合はViewBag、動的に型指定される代わりに使用できる場合があります。

于 2013-04-09T17:12:37.810 に答える