2015-09-21 3 views
-1

В приведенном ниже коде у меня есть статический метод. Я хочу получить доступ к элементам управления, например gridview. Но он вызывает ошибку ссылки на объект. Я пробовал, как показано ниже: How to access page controls inside a static web method?. Pls поможет мне решить проблему.Чтобы получить доступ к элементам управления внутри статического метода

 [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(); 


       } 
    } 
+0

Тьфу, вы должны избегать делать это полностью (при условии, что это возможно, что ответ вы связаны предполагает, что это не так). Если вам нужно связать некоторые данные с таблицей, попросите свой метод вернуть данные и попросите их на стороне клиента и отобразить их. – mason

ответ

1

«Весь смысл [WebMethod] с, что они не работают страницы жизненного цикла ASP.Net. Таким образом, они быстро и параллелизуемыми. Ваш контроль не существует.» - из приведенного вами примера ... чтение текста, а не только кода часто полезно;)

Если вы хотите загрузить сетку, используйте вызов jQuery AJAX для веб-метода, который возвращает нужные данные:

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

+0

У меня есть элементы управления, такие как редактирование, удаление, просмотр в gridview, эти функции могут быть выполнены через ajax – Dotnet

+0

Yup! Вам просто нужен отдельный вызов ajax и метод управления для каждого действия. Добро пожаловать в REST! –

+0

Я спрашиваю, могу ли я связать gridview с этими элементами управления – Dotnet

Смежные вопросы