Gridview绑定数据,哪种方法效率高?数据控件还是IEnumerable (Of T)

没来 2013-01-07 02:25:25
如题。

图省事,习惯于使用ObjectDatasource或EntityDatasource,但有时感觉很费时。

使用IEnumerable(Of T),会不会更快?

如何测试?
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
没来 2013-01-27
  • 打赏
  • 举报
回复
引用 5 楼 sp1234 的回复:
引用 楼主 freeparadise521 的回复:如何测试? 这里是关于即时的参考:http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&tbo=d&q=.net+stopwatch&oq=.net+stopwatch&gs_l=serp.3..……
顺便请教: 我用VS2010,通过entity framework进行数据访问。程序根命名空间是ABC(假设),下面有各种helpers,还包括一个名为BLL的子命名空间,BLL又包含多个命名空间,分别对应各个不同实体,比如其中一个是BLL.Partner。BLL.Partner中存放Partner数据表的实体映射(PartnerInfo)及存储库(名为PartnerInfoRepository),进行CRUD操作。web.config中分别注册了ABC和ABC.BLL两个命名空间。敲代码过程中使用实体或存储库时,通常是仅键入Partner.PartnerInfo或Partner.PartnerInfoRepository,即省去了ABC.BLL。但编译时VS会报错,提示没有PartnerInfo这一方法,这时,要么在Partner.PartnerInfo前加上BLL,要么不厌其烦的多编译几次(连续多次按F5),程序会正常运行。问题可能会出在什么地方?谢谢!
没来 2013-01-27
  • 打赏
  • 举报
回复
引用 5 楼 sp1234 的回复:
引用 楼主 freeparadise521 的回复:如何测试? 这里是关于即时的参考:http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&tbo=d&q=.net+stopwatch&oq=.net+stopwatch&gs_l=serp.3..……
确实是用stopwatch得出滴结论,只不过没有执行过1W次之多。之所以纠结,是觉得客户端执行某些程序有些费时... 虽然也取决于客户端的机器性能,若程序的整体效率有所改观,应该也是有帮助的,可以这样认为吗?
  • 打赏
  • 举报
回复
引用 楼主 freeparadise521 的回复:
如何测试?
这里是关于即时的参考:http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&tbo=d&q=.net+stopwatch&oq=.net+stopwatch&gs_l=serp.3...6604.10107.0.10461.18.11.0.0.0.0.0.0..0.0...0.0...1c.1.hbu7k0Pe3v0 然后你执行你的程序1万次,取平均值就知道快慢了。 要注意,不要简单幼稚地纠结于谁快谁慢,你要想到“这种纠结值几毛钱”这才是关键。
没来 2013-01-26
  • 打赏
  • 举报
回复
多次测试,得出初步结论:后者效率较高。
没来 2013-01-12
  • 打赏
  • 举报
回复
引用 2 楼 huaneramn 的回复:
我晕,楼上的赚分也不用这么做吧
我认同2楼。。。
huaneramn 2013-01-11
  • 打赏
  • 举报
回复
我晕,楼上的赚分也不用这么做吧
mengmeng_boy 2013-01-11
  • 打赏
  • 举报
回复

<asp:GridView ID="gdvPictureList" runat="server" AutoGenerateColumns="False"  Width="100%"
                    CellPadding="1" ForeColor="#333333"  CssClass="list" 
                    onrowdatabound="GridView1_RowDataBound" 
                    onrowcommand="gdvPictureList_RowCommand">
                    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" BorderColor="#DDDDDD" />
                    <Columns>
                        <asp:BoundField HeaderText="Id" DataField="Id" >
                        <HeaderStyle Width="30px" />
                        <ItemStyle HorizontalAlign="Center" />
                        </asp:BoundField>
                        <asp:TemplateField>
                            <HeaderTemplate>
                                <label for="cbAll" class="checkbox-ctn" title="全选/反选"><input id="cbAll" type="checkbox" /></label>
                            </HeaderTemplate>
                            <ItemTemplate>
                                <label for='cbItem<%#Eval("id") %>' class="checkbox-ctn" title="选择/不选"><input type="checkbox" name="cbItem" value='<%#Eval("id") %>' id='cbItem<%#Eval("id") %>'  /></label>
                            </ItemTemplate>
                            <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="30px" />
                            <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="30px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="缩略图">
                            <ItemTemplate>
                                <a href='javascript:void(0);' onclick='javascript:showColorbox("<%#Eval("BigUrl") %>");'>
                                <img alt="缩略图" title="点击查看大图" src='<%#Eval("SmallUrl") %>' /></a>
                            </ItemTemplate>
                            <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                            <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
                        </asp:TemplateField>
                        <asp:BoundField HeaderText="排序号" DataField="OrderId">
                        <HeaderStyle Width="50px" />
                        <ItemStyle HorizontalAlign="Center" />
                        </asp:BoundField>
                        <asp:TemplateField HeaderText="排序">
                            <ItemTemplate>
                                <asp:ImageButton ID="ImageButton1" CommandName="up" CommandArgument='<%#Eval("id") %>' CssClass="button_up" ImageUrl="~/Manage/images/operate/up.gif" Width="18px" Height="18px"  runat="server" />
                                <asp:ImageButton ID="ImageButton2" CommandName="down" CommandArgument='<%#Eval("id") %>' CssClass="button_down" ImageUrl="~/Manage/images/operate/down.gif" Width="18px" Height="18px"   runat="server" />
                            </ItemTemplate>
                            <HeaderStyle Width="50px" />
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="添加时间">
                            <ItemTemplate>
                                <%#Convert.ToDateTime(Eval("CreatedTime")).ToString("yyyy-MM-dd") %>
                            </ItemTemplate>
                            <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="80px" />
                            <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="编辑">
                            <ItemTemplate>
                            <%#YDSystem.ZXF.SQLServerDAL.MasterDAL.GetNicknameByUserName(Eval("CreatedAdmin").ToString()) %>
                            </ItemTemplate>
                            <HeaderStyle Width="80px" />
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="操作">
                            <ItemTemplate>
                                <asp:HyperLink ID="lnkEdit" CssClass="simple-button" runat="server">编辑</asp:HyperLink>
                            </ItemTemplate>
                            <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" />
                            <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                        </asp:TemplateField>
                    </Columns>
                    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <EmptyDataTemplate><div class="no-found">抱歉,找不到任何记录。</div></EmptyDataTemplate>
                    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                    <EditRowStyle BackColor="#999999" />
                    <AlternatingRowStyle BackColor="White" />
                </asp:GridView>

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧