访问静态方法内的控件

时间:2015-09-21 18:47:35

标签: c# asp.net

在下面的代码中,我有一个静态方法,我想访问像gridview这样的控件。但是它抛出了对象引用错误。我试着像下面的链接:How to access page controls inside a static web method?。请帮我解决这个问题。

     [WebMethod]
            public static void Grade()
{
     if (HttpContext.Current != null)
                {
                    Page page = (Page)HttpContext.Current.Handler;
                    GridView gd = (GridView)page.FindControl("gdgrade");//null value
                    DataSet ds = GradeSystem.GradeSystem();
                    gd.DataSource = ds.Tables[0];
                    gd.DataBind();


                }
    }

1 个答案:

答案 0 :(得分:1)

“[WebMethod]的全部意义在于它们不运行ASP.Net页面生命周期。这样,它们可以快速并且可以并行化。你的控件不存在。” - 从您引用的示例中...阅读文本而不仅仅是代码通常很有帮助;)

如果要加载网格,请使用jquery AJAX调用webmethod,返回所需的数据:

http://www.codeproject.com/Tips/775585/Bind-Gridview-using-AJAX