加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:46:10 所属栏目:asp.Net 来源:网络整理
导读:我刚刚在ASP.NET MVC 3中阅读了R0OR模板上的 this blog post。 简单地说,我只是没有得到它! 也就是说,我不明白为什么我们需要这个(相当的)复杂的代码来实现什么可以做的IMO更容易(和更整洁)@RenderPartial? 这是我不喜欢的: 模板存储为Func T,HelperRe
我刚刚在ASP.NET MVC 3中阅读了R0OR模板上的 this blog post。

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

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

这是我不喜欢的:

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

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

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

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

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

解决方法

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

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

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读