Получить данные со страницы aspx.cs на страницу aspx - PullRequest
0 голосов
/ 14 мая 2010

Поэтому я использую плагин jquery, который позволяет мне изменять порядок вещей в списке, перетаскивая их. Поэтому моя цель - получить список моих объектов (AlertInfo) и использовать его в функции javascript. Мне удалось использовать вызов веб-службы json в тестовом проекте для передачи данных на страницу. Но у нас сейчас нет страницы веб-сервиса, поэтому я попытался получить ее со страницы aspx.cs, но она не сработала.

/// Страница Aspx:

$.ajax({
   type: "POST",
   url: "~/Alerts/GetAlerts",
   data: "{}",
   contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {
        var data = eval("(" + msg.d + ")");
        jQuery.each(data, function (rec) {
        AlertList[AlertList.length] = new objAlert(this.id, this.title, this.details,               JSONDateSerializationFix(this.startdate), JSONDateSerializationFix(this.enddate));
        UpdateDisplayList();
     })
     },
     error: function (msg) {
        alert("BRAD" + msg);
     }

Проблема в том, что страница «Оповещения» в «URL / Alerts / GetAlerts» - это Alerts.aspx.cs. Я не могу понять, могу ли я использовать эту команду ajax для вызова метода на странице aspx.cs.
// Код за страницей aspx.cs

[WebMethod]
 //[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetAlerts()
{
  List<AlertInfo> list = AlertInfo.GetTestAlerts();
  return new JavaScriptSerializer().Serialize(list);
}

public List<AlertInfo> GetAlertsList()
{
  List<AlertInfo> list = AlertInfo.GetTestAlerts();
  return list; ;
}

Поэтому я надеялся, что смогу загрузить данные в элемент управления asp (dataList) и затем получить данные

// код позади страницы

protected void Page_Load(object sender, EventArgs e)
{
    dataListAlertList.DataSource = GetAlertsList();
    dataListAlertList.DataBind();
}
public static List<AlertInfo> GetTestAlerts()
{
            List<AlertInfo> list = new List<AlertInfo>();
            list.Add(new AlertInfo("0", "Alert 1 Title", "Alert 1 Detail", "10/10/2010", "10/10/2011"));
            list.Add(new AlertInfo("1", "Alert 2 Title", "Alert 2 Detail", "10/10/2010", "10/10/2011"));
            return list;

}

//. Aspx page

$(document).ready(function () {
    var a1 = $("#dataListAlertList").val();
    // do fun stuff now.
}

Но я продолжаю получать неопределенность ....

1 Ответ

0 голосов
/ 17 мая 2010

Предварительная загрузка не требуется. Закончился использованием списка данных, а затем изменил способ его форматирования. В функции готовности документа я взял div и применил свойства, которые нужно было установить.

...