【问题标题】:Loop through the properties in a model in C# , mVC4在 C#、mVC4 中循环遍历模型中的属性
【发布时间】:2013-07-10 05:27:23
【问题描述】:

我有视图,我将从 html 辅助函数中渲染它。

@using PartyBiz.Models.Objects
@model IEnumerable<Person>
@Html.PageStructureEntity(Model)

我编写了以下示例方法来返回内容以供查看:

 public static MvcHtmlString PageStructureEntity(this HtmlHelper helper, Person m)
    {
        TagBuilder
              stdDiv = MvcUtils.GetStdDiv(); //Parent Site Part Version's container


        switch (m.FirstName.GetType().FullName)
        {
            case "System.String":
                TagBuilder input = MvcUtils.GetStdInput();
                input.Attributes.Add("value", m.FirstName);
                stdDiv.InnerHtml = input.ToString();
                break;

            default:
                return null;
        }
        return MvcHtmlString.Create(stdDiv.ToString());
    }

我必须遍历 IEnumerable 中的每个模型对象以及该模型对象中的每个属性,根据它们的类型呈现输入或复选框或日期时间。

我的问题是我正在以非常标准的方式进行操作。 有没有最好的方法来更好地编写代码,使用泛型或内置辅助函数?

您的建议很有帮助..

【问题讨论】:

    标签: c# asp.net-mvc-4


    【解决方案1】:

    你可以试试

    @Html.EditorForModel()
    

    这将为您的模型属性呈现所有默认编辑器模板。

    详情请见this

    【讨论】:

    • EditorForModel() 对我们不起作用。我们必须使用我们自己的自定义文本框下拉列表等,而且视图应该是通用的,它应该能够接受任何模型并应该允许它进行编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 1970-01-01
    • 2021-03-11
    • 2014-08-15
    相关资源
    最近更新 更多