4

次のようなアクション結果にキーと値のペアを追加しました。

[HttpPost、承認]
        public ActionResult ListFacilities(int countryid)
{{
..。
        ModelState.AddModelError( "Error"、 "この国では施設は報告されていません!");
..。
}

私はユニットテストでこれらのようないくつかの厄介なコードを持っています:

public void ShowFailforFacilities()
 {{
    //偽のデータ
    var Facilities = controller.ListFacilities(1)as PartialViewResult;


    Assert.AreSame( "この国では施設は報告されていません!"、
        Facilities.ViewData.ModelState ["Error"]。Errors.FirstOrDefault()。ErrorMessage);

 }

もちろん、エラーが1つしかない場合はいつでも機能します。
私は好きではありませんfacilities.ViewData.ModelState["Error"].Errors.FirstOrDefault().ErrorMessage

その辞書から値を取得する簡単な方法はありますか?

4

2 に答える 2

0

これを試しましたか?

// Note: In this example, "Error" is the name of your model property.
facilities.ViewData.ModelState["Error"].Value
facilities.ViewData.ModelState["Error"].Error
于 2011-04-11T06:59:51.700 に答える