现在我在 MSDN 上做了一些关于如何从页面获取控件的研究。 http://msdn.microsoft.com/en-us/library/yt340bh4(v=vs.100).aspx
我已经研究了如何从静态上下文中获取页面引用。 从静态类访问 Page 的当前实例
但是,当我尝试遍历页面控件列表时,它会出现 null 并且没有 gridview。
现在我需要那个gridview,因为我正在将它数据绑定到一个我之前用数据库调用填充的数据表。我在其中执行此操作的静态方法是 WebMethod,因此它看起来像这样:
[WebMethod(EnableSession = true)]
[ScriptMethod]
public static string viewApps(){}
这是我的静态方法中的 C# 代码
GridView applications = new GridView();
Page masspage = HttpContext.Current.CurrentHandler as Page;
foreach(Control childcontrol in masspage.Controls)
{
if(childcontrol is GridView){
applications = childcontrol as GridView;
}
}
applications.DataSource = dt;
applications.DataBind();
我以为这很简单,但我想不会这么简单。如果有一种方法可以根据 id 获取对我的 GridView 的引用,那也很有用。
这是我的 asp.net 代码。它是从母版页继承的页面。
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Always">
<ContentTemplate>
<asp:GridView ID="ApplicationsGridView" runat="server"
AutoGenerateColumns="True" >
<%--Styling and column info omitted --%>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>