asp.net-mvc – ASP.NET MVC 3 Razor模板VS RenderPartial

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC 3 Razor模板VS RenderPartial前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚在ASP.NET MVC 3中阅读了R0OR模板上的 this blog post

简单地说,我只是没有得到它!

也就是说,我不明白为什么我们需要这个(相当的)复杂的代码来实现什么可以做的IMO更容易(和更整洁)@RenderPartial?

这是我不喜欢的:

>模板存储为Func< T,HelperResult>代表?
>该模板委托持久化在Controller ViewData(例如HttpContext.Current.Items)中

我从这个博客中读到的唯一的“好处”就是模板不需要单独的文件,这意味着你不需要重新编译。

但我不认为这是有效的论据。只要解决方案组织不受影响,额外的文件就可以了。

我喜欢使用@RenderPartial,因为我可以保持我的标记与主视图分开,我可以在内联(渲染时间)和jQuery(例如AJAX事件)中呈现这两者。

也许我在这里缺少一些东西,但是任何人都可以提供一些理由,为什么我们应该选择RenderPartial上的Razor Templating来创建可重复使用的内容

@H_404_20@解决方法
那么你应该问这个帖子的作者关于他介绍这种技术的动机。

这当然说明了剃须刀的可能性。是否应该使用它是一个不同的事情。我个人认为有一些不那么复杂的替代技术(我同意关于将Func存储在请求上下文中)。

>你已经提到了@RenderPartial。
>您还可以使用@helper语法(作为本地帮助器或全局帮助器)
>你可以编写一个html帮助程序(并使用TagBuilder来组合输出)
>你可以写一个小孩的动作
>你可以写一个模板的帮手

现在我看看上面的列表我认为MVC可能提供太多的选择:)

更新为了更好地说明内联模板如何可用,我写了一篇关于使用它们调用部分的博客文章,其默认代码为:Optional Razor Sections with Default Content

你可以用它来写这样的东西:

@this.RenderSection("OptionalSection",@<div>Default Content</div>)

猜你在找的asp.Net相关文章