web-dev-qa-db-ja.com

文字列に基づいてViewBagプロパティを作成する

文字列に基づいてViewBagの動的プロパティを作成して使用する方法はありますか?

何かのようなもの

ViewBag.CreateProperty("MyProperty");
ViewBag.Property("MyProperty") = "Myvalue";

ありがとうございました

25
bzamfir

ViewDataを使用してViewBagのそのようなプロパティを作成できることがわかりました

したがって、プロパティCityErrorMessageを作成するには、使用する必要があります

ViewData.Add("CityErrorMessage", MyErrorMessage)

そして、ビューで私は使用することができます

@ViewBag.CityErrorMessage

編集:

リストに検証エラーのあるフィールドの名前を受け取ったため、ViewBagのプロパティを動的に作成しました

したがって、コードは実際には

foreach (ValidationError err in ValidationErrors)
{
    ViewData.Add(
        string.format("{0}ErrorMsg", err.PropertyName),
        err.ValidationErrorMessage);
}
49
bzamfir