0

私は現在、従来の ASP サイトと MVC3 の統合に取り組んでいます。統合のいくつかの領域について、フィードバックが欲しいという質問があります。

まず、MVC コントローラー アクションに投稿する ASP ページがあります。ASP ページを変更する範囲はほとんどありません。asp ページから投稿されたフォーム フィールドを取得し、それらをモデル オブジェクトにマップしたいと考えています。投稿された値には、モデル オブジェクトの Name プロパティにマップしたい "my_name" などのあいまいな名前があります。モデルバインダーを介してこれを行う最良の方法はありますか、それとも代替手段がありますか?

次の質問は前の続きです。クロスサイトスクリプティングに関心があるので、投稿された変数の値が有効であり、奇妙な文字が含まれていないことなどを確認したいのですが、これを行う MVC3 に組み込まれているものはありますか?箱から出して?

aspページがコントローラーアクションに投稿するとき、コントローラーアクションが外部システムなどを呼び出す必要があるため、コントローラーアクションが10秒かかる可能性があるため、コントローラーアクションの処理中に待機中のアイコンを表示したいと思います。したがって、投稿をしたくないぶら下がっているように見えます。アクションの本体がバックグラウンドで処理され、完了すると別のページにリダイレクトされる間に、待機中のアイコンを含むビューを返すようにコントローラー アクションを接続することは可能ですか?

4

1 に答える 1

0

モデルバインダーを介してこれを行う最良の方法はありますか、それとも代替手段がありますか?

最善の方法は、モデル バインダーです。my_nameカスタム モデル バインダーを使用して、 を にマップするASP シナリオを処理できますName。ほとんどの場合、クラシック ASP からの要求を処理する別のアクションが必要であり、カスタム モデル バインダーをこのアクションにのみリンクできます。

これをすぐに実行できるMVC3に組み込まれているものはありますか?

MVC では、リクエストの検証がデフォルトで有効になっています。そのため、ユーザーがスクリプト ブロックをアクションに投稿しようとすると、MVC は例外をスローします。もちろん、必要に応じてアクションを装飾することで、リクエストの検証をオフにすることもできValidateInput(false)ます。

長時間実行されるアクションの場合は、asynccontrollersを使用する必要があります。

于 2012-06-26T17:34:16.217 に答える