これで、基本的にウィジェットとして連絡フォームであるオーチャードモジュールを作成しました。このウィジェットは、パーツとして(またはウィジェットとして)どのページにでも置くことができ、ポストデータを処理するコントローラにデータをポストします。電子メールを送信すると、入力を要約した「送信済み」ビューが返されます。私が持っている問題は、無効なモデルを扱うことです。私はコードをデバッグするので、検証に入るだけです。コントローラは、ウィジェットがあるページに動的に戻ります!ModelState.IsValid
if (!ModelState.IsValid)
{
//Gets here no problem
}
しかし、問題は、私のウィジェットは基本的に任意のページにすることができるので(グローバル領域では、別のページに、ホームページのすべてのページになる)、それはのウィジェットまたは一部にできることですタイプ。モデルを送信者のページに戻す方法はわかりません。私はいくつかの選択肢があると思っています。
興味深いのは、自分のサイトの「グローバル」領域にフォームを置くと(すべてのページにあるサイドバーのように、私の「送信済み」ページが重要です)、そのページのフォームは実際にフォーム上に「検証」エラーが表示されます。だから、どういうわけか私は明示的にそれを返さないと思っても、私のビューモデルをページに渡しています。
URLは何のサブドメインを持っていない場合a)はどういうわけかどういうわけか)ホームページコントローラまたは任意の(果樹園がそれをどのように処理するかわからない)
Bにし、我々のルートを、例えば、コントローラのアクションに送信者のURLをマップハンドラー/ドライバーの領域でやっても、どうすればいいのか分かりません。
c)むしろ、このようにしないでください。しかし、私のコントローラはjsonデータを返し、jquery経由で非同期のコントローラにフォームをポストするだけです。