Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在.net中从静态方法调用的实例方法上获取asp.net控件_C#_Asp.net_.net_Gridview_Asp.net Ajax - Fatal编程技术网

C# 如何在.net中从静态方法调用的实例方法上获取asp.net控件

C# 如何在.net中从静态方法调用的实例方法上获取asp.net控件,c#,asp.net,.net,gridview,asp.net-ajax,C#,Asp.net,.net,Gridview,Asp.net Ajax,我使用ajaxwebmethod从同一aspx页面调用代码隐藏,以便在位于引导模式对话框的网格上获取数据。挖掘了几个小时后,我们才知道ajax调用只适用于静态方法。现在,我没有获得关于代码隐藏的gridview控件。如何在代码隐藏中获取web控件 [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public static void DisplayGrid(string iNumber) {

我使用ajax
webmethod
从同一
aspx
页面调用代码隐藏,以便在位于引导模式对话框的网格上获取数据。挖掘了几个小时后,我们才知道ajax调用只适用于静态方法。现在,我没有获得关于代码隐藏的
gridview
控件。如何在代码隐藏中获取web控件

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static void DisplayGrid(string iNumber)
{
            try
            {
                InProcess obj = new InProcess();
                obj.LoadData(iNumber);
                obj.BindGrid();
            }
            catch (Exception ex)
            {
            }
}

private void BindGrid()
{
            if (HttpContext.Current != null)
            {
                Page page = (Page)HttpContext.Current.Handler;
                GridView gvWire = (GridView)page.FindControl("gvWire");

                gvWire.DataSource = WireDetails;//datatable
                gvWire.DataBind();
            }
}

现在我面临的问题是gridview
gvWire
为null

无法访问静态web方法内部的控件。作为一种解决方法,您可以使用ICallbackEventHandler。检查这篇文章:谢谢,我是基于这个做的