【发布时间】:2014-04-04 16:22:26
【问题描述】:
我的页面上有一个简单的 asp FormView,一切正常,但我注意到页面加载速度有点慢(2-3 秒),当真的没有理由时,它是如此简单的页面.
问题在于 FormView 使用的是 SqlDataSource,它使用的是“繁重的”选择语句,基本上抓取了配置文件表的所有字段和所有行(姓名、地址、电话等)。我假设 FormView 需要获取所有记录,以便 Paging 正常工作,但是有没有办法对其进行编码或我可以使用的属性,所以它不会抓取每一行和每一列,而只是当前的所有列姓名ID?
asp:
<asp:FormView ... DataSourceId="sdsNames" AllowPaging="True" DataKeyNames="NameId">
<EditItemTemplate>....</EditItemTemplate>
<InsertItemTemplate>...</InsertItemTemplate>
<ItemTemplate>
<asp:Label Text='<%# Eval("Name") %>'.../>
...
</ItemTemplate>
</asp:FormView>
<SqlDataSource ID="sdsNames" ... SelectCommand="SELECT * from tblNames">
我尝试将 SelectCommand 更改为
SELECT * from tblNames where NameId=1
因为初始页面应该显示第一个条目。但是后来我失去了分页,基本没办法查看下一条记录。
页面是什么样子的:
【问题讨论】:
标签: asp.net sqldatasource formview