2010-03-25 52 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