作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一个图表,它应该从 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');
}
});
</script>
这是我的 C# 代码:
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;
}
结果是:
您可以改进使用输出作为图表的来源。
关于c# - 如何在 jQuery 中调用 C# 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19701658/
我是一名优秀的程序员,十分优秀!