我想要做的是继承一个GridView并以编程的方式将一个LinqDataSource嵌入其中。这样做的原因是我希望有一个通用的网格视图,它允许列和网格属性的标记定义,但它实现了一个GetDataSourceEvent,它将传递sortExpression、页导航页面索引和页导航行数,以实现高效的模型查询。后者将通过订阅DataSourceControl的选择事件来完成。
我遇到的问题是,如果我将LinqDataSource添加到UserControl中,就无法找到DataSourceId。我尝试了OnInit和EnsureChildControls来创建LinqDataSource,但是没有成功。我已经看到了一些如何通过继承网格视图来创建自定义寻呼机的示例,但我似乎找不到适合我的情况的事件。
在尝试以编程方式添加DataSourceControl并为其分配GridView DataSourceId时,有人能为我指出正确的方向吗?
发布于 2013-03-06 01:00:42
您可以创建一个接受数据源类型的公共方法。然后,在创建用户控件类的实例时,绑定到该方法。例如,如果您使用字符串列表作为数据源,并且有一个名为myUserControl的用户控件:
Partial Class user_controls_myUserControl
Inherits System.Web.UI.UserControl
Public Sub bindMyData(ByVal myDataSource As List(Of String))
'bind stuff here
End Sub
End Class它的名称是这样的:
dim myListOfString as new list(of String)
Me.myUserControl1.bindMyData(myListOfString)https://stackoverflow.com/questions/15191016
复制相似问题