在C#,mVC4中遍历模型中的属性

时间:2013-07-10 05:27:23

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

我有观点,我将从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中的每个模型对象以及该模型对象中的每个属性,根据其类型呈现输入或复选框或日期时间。

我的问题是我以非常标准的方式做这件事。 有没有最好的方法可以更好地编写代码,使用泛型或构建辅助函数?

你的建议很有帮助..

1 个答案:

答案 0 :(得分:2)

您可以尝试使用

@Html.EditorForModel()

这将渲染模型属性的所有默认编辑器模板。

有关详细信息,请参阅this