0

私はMVCが初めてです。クライアントからのリクエストを受け入れる ActionResult があり、MVC 検証とモデル バインディング マジックを採用しようとしています。このアクションはビューを返しませんが、特定のロジックに従って他のアクションにリダイレクトします。

私の問題は、さまざまなモデルに関連付けられているさまざまなタイプのリクエストがあり、これらのモデルは相互に排他的であることです。

例:

class Model1
{
    [Required]
    public string PropA;
}

class Model2
{
    [Required]
    public string PropB;
}

ActionResult 内のロジックは、次のようなものに従います。

     If Model1 is valid then RedirectToAction("A")
     Elseif Model2 is valid then RedirectToAction("B")
     Else RedirectToAction("ERROR")

このタイプの機能、または ASP.NET MVC4 で同様のものを実装するためのベスト プラクティスは何ですか?

4

2 に答える 2

0

モデル状態をチェックして、コントローラー内からのエラーがあるかどうかを確認できます。

bool hasErrors =  ViewData.ModelState.Values.Any(x => x.Errors.Count > 1);

[1] http://msdn.microsoft.com/en-us/library/dd470776(v=vs.108).aspx

[2] http://forums.asp.net/t/1480118.aspx/1

于 2013-05-14T20:21:18.510 に答える