将值列表从Code-Behind传递到Javascript

时间:2016-11-20 02:59:02

标签: javascript c# asp.net

我目前在代码隐藏中有list个日期,我想将list传递给javascript中的变量而不使用{{1} }}

例如,

Aspx.cs:

hiddenfield

.aspx的:

List < DateTime > blockedDate = new List < DateTime > ();

foreach(DataRow blockedRow in phBLL.getAllPH(DateTime.Now.Year).Tables[0].Rows) 
{
   blockedDate.Add(Convert.ToDateTime(blockedRow["date1"]));
}

我尝试了什么

Aspx.cs:

 $(document).ready(function () {

     var arrayOfDates = ""    
});

使用Javascript:

public static List < DateTime > blockedDate = new List < DateTime > ();

[WebMethod]
public static List < DateTime > blockDates() 
{
  foreach(DataRow blockedRow in phBLL.getAllPH(DateTime.Now.Year).Tables[0].Rows) {
  blockedDate.Add(Convert.ToDateTime(blockedRow["date1"]));
 }

 return blockedDate;
}

我正在尝试获取 $.ajax({ type: "POST", url: "CreateClass.aspx/blockDates", data: null, contentType: 'application/json; charset=utf-8', dataType: 'json', error: function(XMLHttpRequest, textStatus, errorThrown) { alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown); }, success: function(result) { for (var i = 0; i < result.d.length; i++) { var dates = [new Date(parseInt(result.d[i].substr(6)))]; console.log(dates); } } }); 并放入数组。所以它最终会成为像这样的东西

日期数组

result

1 个答案:

答案 0 :(得分:1)

根据评论,创建一个[WebMethod],其中包含您的逻辑代码并使用ajax调用它。

现在,您将获得有关aj​​ax成功的数据,并使用JavaScript Array push() Method

将数据推送到数组arrayOfDates

希望这有帮助!