asp.net-mvc-3 - 基于字符串创建 ViewBag 属性

标签 asp.net-mvc-3 viewbag

有没有办法基于字符串为 ViewBag 创建和使用动态属性?

就像是

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

谢谢

最佳答案

我刚刚发现 ViewData 可用于为 ViewBag 创建此类属性

所以要创建属性 CityErrorMessage 我必须使用

ViewData.Add("CityErrorMessage", MyErrorMessage)

然后在 View 中我可以使用
@ViewBag.CityErrorMessage

编辑:

我动态创建了 ViewBag 的属性,因为我在列表中收到了带有验证错误的字段名称

所以代码实际上是
foreach (ValidationError err in ValidationErrors)
{
    ViewData.Add(
        string.format("{0}ErrorMsg", err.PropertyName),
        err.ValidationErrorMessage);
}

关于asp.net-mvc-3 - 基于字符串创建 ViewBag 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7936150/

相关文章:

asp.net-mvc - 想要了解MVC中ActionResult的概念。

asp.net-mvc-3 - DropDownListFor 中的 ViewBag 属性值,而不是 Model 属性值

asp.net-mvc - 在 Razor 中使用 Html.EditorForModel 渲染时,ASP.Net [HiddenInput] 数据属性不起作用?

asp.net-mvc - MVC 中的 ViewBag 与 ViewData 性能差异?

c# - post 方法中的 MVC3 RedirectToAction 和 ViewBag 抑制

c# - 将多个字段绑定(bind)到 MVC 3 View 模型的同一属性

entity-framework - ObjectStateManager 中已存在具有相同键的对象。 ObjectStateManager 无法跟踪具有相同键的多个对象

javascript - MVC : Iterating a Viewbag array in javascript

c# - Asp.Net MVC 布局和局部 View

asp.net-mvc-4 - ViewBag 的 Html.ActionLink 值