如何在jquery中调用c#方法?

我正在使用一个图表,它应该从c#获取输入以绘制图形.我正在使用Json将值从c#返回到jquery.但它对我没有帮助.提前致谢.你能找到我错的地方吗?

这是我的aspx代码

script type="text/javascript">
        $(document).ready(function () {

            var source = {};
            $.ajax({

                type: 'POST',dataType: 'json',url: "Default.aspx/getall",contentType: 'application/json; charset=utf-8',cache: false,success: function (response) {

                    source = $.parseJSON(response.d);

                },error: function (err) {
                    alert('Error');
                }
            });

这是我的cs代码

public class sampledata
{
    public string Day { get; set; }
    public int Keith { get; set; }
    public int Erica { get; set; }
    public int George { get; set; }


}

public partial class _Default : System.Web.UI.Page 
{
    List<sampledata> s = new List<sampledata>();
    protected void Page_Load(object sender,EventArgs e)
    {
        s.Add(new sampledata { Day = "monday",Keith = 20,Erica = 15,George = 25 });
        s.Add(new sampledata { Day = "tuesday",Keith = 25,Erica = 20,George = 35 });

        Session["data"] = s;            

    }
    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static List<sampledata> getall()
    {
        List<sampledata> data = (List<sampledata>)HttpContext.Current.Session["data"];
        return data;

    }
}

解决方法

我测试了你的代码.一切似乎都很好,除了我将List序列化为一个字符串并返回.
$(window).load(function () {

            $.ajax({              

                type: "POST",url: "PageMethodTest.aspx/getall",data: "{}",contentType: "application/json; charset=utf-8",dataType: "json",success: fnsuccesscallback,error: fnerrorcallback
            });
        });

        function btnclick() {

        }

        function fnsuccesscallback(data) {
            alert(data.d);

        }
        function fnerrorcallback(result) {
            alert(result.statusText);
        }

服务器代码

[WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static String getall()
        {
            List<sampledata> data = (List<sampledata>)HttpContext.Current.Session["data"];
            JavaScriptSerializer js = new JavaScriptSerializer();
            return js.Serialize(data);
            //return data;

        }

结果是

您可以改进使用输出作为图表的来源.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...