如何使用Javascript从列表中获取类的静态变量的值
本文关键字:静态 变量 获取 何使用 Javascript 列表 | 更新日期: 2023-09-27 17:54:24
我有一个javascript应用程序,从c# -WebMethod中获取数据。WebMethod返回一个对象列表。对象的类有一个静态属性,我将在javascript中读取这个属性。下面的代码可能会更好地解释这个问题:
类:
public class DayEntryBT{
public static string date { get; set; }
public string name { get; set; }
//some more...
}
WebMethod:
[WebMethod]
public List<DayEntryBT> getDayEntries()
{
List<DayEntryBT> listOfEntries = new List<DayEntryBT>();
//some sql...
while (reader.Read()){
DayEntryBT day = new DayEntryBT();
DayEntryBT.date = reader["date"];
day.name = reader["name"];
listOfEntries.add(day);
}
return listOfEntries;
}
和Javascript:
$.ajax({
type: "POST",
url: "DataProviderBT.asmx/getDayEntries",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (resp) {
alert(resp.d.date); //HOW TO GET THE STATIC ATTRIBUTE date HERE??????
alert(resp.d[0].name); //THIS WORKS!!!
}
});
如何从javascript的静态属性中获取和设置值?
对
为了解决这个问题,你可以像这样改变你的DayEntryBT
类
public class DayEntryBT{
public static string StaticDate { get; set; }
public string date {get { return StaticDate; }}
public string name { get; set; }
//some more...
}
之后你可以得到
$.ajax({
type: "POST",
url: "DataProviderBT.asmx/getDayEntries",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (resp) {
alert(resp.d[0].date); //this works, with value of static field
....
}
});
你也可以看到自定义序列化器