我是ASP.NET新手,我想使用WebForms编写一个简单的WebApplication,它连接到数据库并在网格中显示一些数据(带分页)。我使用Visual Studio 2015
为了显示数据,我将GridView与ObjectDataSource结合使用。
我使用EntityFramework和一个方法GetCustomer()返回数据库中的所有客户。我将该方法用作SelectMethod
我的问题是:
两个控件GridView和ObjectDataSource都具有Paging and SelectMethod
如果我想使用Model Binding
,我应该使用哪个控件的Paging和SelectMethod参数?
目前我正在使用它:
GridView :<br>
AllowPaging = true<br>
PageSize = 10<br>
SelectMethod = ""<br>
DataSourceID = dsCustomers<br>
ObjectDataSource:<br>
ID = dsCustomers<br>
EnablePaging = false<br>
SelectMethod = GetCustomers ()<br>
MaximumRowParameterName = ""<br>
StartRowIndexParameterName = ""<br>
这些设置有效,数据显示,分页工作正常
但我不确定这是否是正确的方法。
如果我更改Paging and SelectMethod
这样的设置
GridView: <br>
AllowPaging = false<br>
PageSize = ""<br>
SelectMethod = GetCustomers()<br>
DataSourceID = dsCustomers<br>
ObjectDataSource:<br>
ID = dsCustomers<br>
EnablePaging = true<br>
SelectMethod = <br>
MaximumRowParameterName = ""<br>
StartRowIndexParameterName = ""<br>
我收到错误:
无法在'gridViewCustomers'上定义DataSource或DataSourceID 当它使用模型绑定时。
如果我从GridView中删除DataSourceID,那么我得到了
“未找到名为'GetCustomers'的公共方法或 有多个方法具有相同的名称“
答案 0 :(得分:0)
您在第一个示例中执行此操作的方式是正确的。
PageSize
)。SelectMethod
上指定CRUD方法 - InsertMethod
,DeleteMethod
,UpdateMethod
和ObjectDataSource
。如果将其更改为SqlDataSource
您需要在SqlDataSource
级别更改它,但属性名称略有不同,例如SelectCommand
,InsertCommand
等注意:EnablePaging
的{{1}}属性绝对可以配置为在ObjectDataSource
上启用分页,但它更复杂,而且在所有这些年中我都是{&#39}}我曾与GridView
控件合作过,我从未见过有人这样做过。不过,如果您对如何做到这一点感到好奇,请查看this MSDN article。