当前位置:  开发笔记 > 编程语言 > 正文

foreach或Repeater - 哪个更好?

如何解决《foreach或Repeater-哪个更好?》经验,为你挑选了2个好方法。

我正在使用MVC在ASP.Net中构建一个网站,并且需要列出一组结果.以下两项工作正如我所希望的那样,但我想知道哪种更快,更清洁和/或更好 - 或者如果另一种选择完全更合适?

注意:ViewData.Model是类型的IEnumerable,我需要显示更多的属性Name- 我已经裁剪了这个例子的代码.


<% foreach (var thing in ViewData.Model)
   { %>
   

<%= thing.Name %>

<% }; %>

<% rptThings.DataSource = ViewData.Model;
   rptThings.DataBind(); %>

    
    

<%# DataBinder.Eval(Container.DataItem, "Name") %>


Pure.Krome.. 12

foreach是ASP.NET MVC的方法.为什么?我个人避免任何遗留asp:xxx控制..因为他们可能有webforms模型存在的膨胀.其次,event delegates你必须连线的是什么?你开始混合和匹配架构,IMO,所以这可能会严重导致真正的spagetti代码与疯狂的维护和支持问题.(IMO:DataBinder.Eval ==非常邪恶:( :( :()

asp:xxx我使用的唯一控件是mastpage / content control(因为它没有替代品).

最后,foreach在asp.net mvc中做的不是spagetti代码,正如许多人所认为的那样.我知道当我第一次看到最初的mvc演示时我做了.如果有的话,它实际上使UI比以前更清洁,imo ..更加可维护.IMO,spagetti代码就是当你有很多<% .. %>业务逻辑和ui逻辑和(gag)db访问时.请记住,这是窥视在asp.net 经典的狂野西部所做的事情:P

摘要

坚持foreach并避免使用任何webform控件 - 它简单,高效且非常可行.



1> Pure.Krome..:

foreach是ASP.NET MVC的方法.为什么?我个人避免任何遗留asp:xxx控制..因为他们可能有webforms模型存在的膨胀.其次,event delegates你必须连线的是什么?你开始混合和匹配架构,IMO,所以这可能会严重导致真正的spagetti代码与疯狂的维护和支持问题.(IMO:DataBinder.Eval ==非常邪恶:( :( :()

asp:xxx我使用的唯一控件是mastpage / content control(因为它没有替代品).

最后,foreach在asp.net mvc中做的不是spagetti代码,正如许多人所认为的那样.我知道当我第一次看到最初的mvc演示时我做了.如果有的话,它实际上使UI比以前更清洁,imo ..更加可维护.IMO,spagetti代码就是当你有很多<% .. %>业务逻辑和ui逻辑和(gag)db访问时.请记住,这是窥视在asp.net 经典的狂野西部所做的事情:P

摘要

坚持foreach并避免使用任何webform控件 - 它简单,高效且非常可行.


AH :)检查我回答这篇文章的时候.过了一会儿,MVC1.现在,我们在`Razor`中有区域,这意味着最终可以抛弃`ASP:SMELL废话.哦,嵌套共享布局页面没有任何问题..从来没有建议过.只是抱怨(当时)唯一的asp:YUCK控件,我们仍然必须使用的是母版页/内容控件..因为`Razor`不在身边.

2> Mehrdad Afsh..:

foreach如果你没有特别搞砸某些东西,肯定会更快.Repeater当然更清洁,更巧妙地分离UI和逻辑.有时您需要更多条件(除了不同的外观偶数和奇数行)来正确渲染您的东西,这是foreach唯一的选择.

我个人更喜欢Repeater正常情况和foreach更复杂的情况.

编辑:我在谈论使用WebControls的普通ASP.NET.对于MVC甚至是主要由代码生成的页面,我同意foreach更简单,更清晰.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有