2010-03-25 71 views
0

ASPX頁面:Asp.Net(C#)jQuery的Ajax和的WebMethod公共方法調用

$(document).ready(function() { 

      $("#btnn").click(function() { 
       $.ajax({ 
        type: "POST", 
        url: "TestPage.aspx/emp", 
        data: "{}", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function(msg) { 
        } 
       }); 
      }); 
     }); 

代碼隱藏:

public void grdload() 
    { 
     GridView1.DataSource = GetEmployee("Select * from Employee"); 
     GridView1.DataBind(); 
    } 

[WebMethod] 
    public static void emp() 
    { 
     TestPage re = new TestPage(); 
     re.grdload(); 
    } 

我不能GridView的數據加載?如何使GridView數據加載?

謝謝

回答

1

在ASP.NET中調用WebMethod就意味着返回一個JSON數據集,您可以通過Javascript解析,而不是重新加載控件。

您應該着手使用ASP.NET AJAX工具包,並在您的頁面上獲取ScriptManagerUpdatePanel,並使用常規的.NET代碼更新您的GridView

+0

我不想要ScriptManager數據,如何使GridView數據加載Json數據?請幫助... – Chicharito 2010-03-25 14:42:13

+0

無法使用ScriptManager/UpdatePanel或回傳,無法使用客戶端腳本(使用JSON)加載服務器端控件。就這麼簡單。你的其他選擇是讓WebMethod返回GridView的HTML,然後使用jQuery將HTML轉儲到頁面上。 – 2010-03-25 14:58:24

+0

它如何使WebMethod返回GridView的HTML,然後使用jQuery將HTML轉儲到頁面上;即時對不起,即時通訊初級開發者:) – Chicharito 2010-03-25 15:52:06

0

您無法與WebMethod中的頁面進行交互。

您應該改用UpdatePanel。

+0

人...你偷了我的雷聲今天上午。 :-P – 2010-03-25 14:15:16