我刚刚阅读了这篇关于ASP.NET MVC 3 中的Razor 模板的博文。
简而言之,我就是不明白!
也就是说,我不明白为什么我们需要这个(相当)复杂的代码来实现 IMO 可以更容易(和更整洁)完成的事情@RenderPartial
?
这是我不喜欢的:
- 模板存储为
Func<T,HelperResult>
委托? - 该模板委托保存在控制器 ViewData 中(例如 HttpContext.Current.Items)
我从该博客中读到的唯一“好处”是模板不需要单独的文件,这意味着您不需要重新编译等。
但我不认为这是一个有效的论点。只要解决方案组织不受影响,额外的文件就可以了。
我更喜欢使用@RenderPartial
,因为我可以将我的标记与主视图分开,并且我可以使用内联(渲染时间)和 jQuery(例如 AJAX 事件)来渲染它。
也许我在这里遗漏了一些东西,但是任何人都可以给出一些理由为什么我们应该选择 Razor 模板而不是 RenderPartial 来创建可重用的内容?