【问题标题】:How do you get the value of a static variable of a class from a list with Javascript你如何使用Javascript从列表中获取类的静态变量的值
【发布时间】:2014-03-28 14:23:42
【问题描述】:

我有一个从 C#-WebMethod 获取数据的 javascript 应用程序。 WebMethod 返回一个对象列表。 obect 的类具有静态属性,我将在 javascript 中读取此属性。该代码可能更好地解释了这个问题:

班级:

public class DayEntryBT{
     public static string date { get; set; }
     public string name { get; set; }
     //some more...
}

网络方法:

[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 中获取和设置静态属性的值?

问候

【问题讨论】:

  • 我建议你找个提琴手看看返回数据是什么样子的,这样你就可以更好地理解它。
  • 你的d是一个数组,因为你返回的是一个List,你为什么不通过数组表示法访问它?
  • 我可以通过循环访问每个元素,但我不能像 resp.d[0].date 那样访问静态属性
  • 你用什么将列表编码为 json?它是否编码静态变量?显示返回的 json 示例。
  • 为什么在你的 webmethod 代码中使用 date 不是静态字段?

标签: c# javascript web-services asmx webmethod


【解决方案1】:

要解决此问题,您可以像这样更改 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
        ....
    }
});

您还可以查看自定义序列化程序。

【讨论】:

    猜你喜欢
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多