1

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

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

你的建议很有帮助..

4

1 回答 1

2

你可以尝试使用

@Html.EditorForModel()

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

有关更多详细信息,请参阅

于 2013-07-10T05:32:08.680 回答