2010-10-31 77 views
1

因此,在MVC3测试版中,我正在寻找一种可控制的方式来使用不同于我放入DisplayTemplates文件夹的显示模板。扩展MVC TemplateHelper/DisplayFor *方法 - 我应该这样做吗?

可能比较容易只是说正是我试图做的,用计算器为例:

在详细信息页面,你可以想像,你将有:

Html.DisplayForModel() // Uses the DisplayTemplates/question.ascx

现在列表页面上显示了所有我想要的问题:

Html.SummaryForModel() // Uses the SummaryTemplates/question.ascx

钍原因是我想要一个简单的方法来在一个列表中显示各种对象,而不必在页面中指定要使用的实际模板(使用RenderPartial或其他)。

所以看着DisplayForModel(执行),这应该是一个简单的任务 - 但TemplateHelper是所有internal所以我错过了一些其他的钩我可以重写,或者我要实现自己的这个版本?

回答

0

我已经做了一个类似的事情与自动网格,是的,你必须创建自己的helper循环你的模型属性,然后用相应的RenderPartial(“/ yourfilepaths”)调用。

你会碰到的问题是,这些内部类各地有关对象的元数据洗牌的你,读UIHint属性和所有的爵士乐。实施你自己并不难,但需要一些工作才能实现正确的实施。

相关问题