2010-05-14 104 views
0

所以我使用了一個jQuery插件,它允許我通過拖放它們來改變列表中事物的順序。 所以我的目標是能夠獲取我的對象列表(AlertInfo)並在javascript函數中使用它。 我能夠在測試項目中使用json webservice調用來將數據傳遞給頁面。 但我們現在沒有webservice頁面,所以我試圖從aspx.cs頁面抓取它,但它沒有工作。從aspx.cs頁面獲取數據到aspx頁面

/// 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 /快訊/ 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頁

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

但我一直未定義....

回答

0

無需預加載。結束使用數據列表,然後更改它的格式。在文檔就緒函數中,我抓住了div並應用了需要設置的屬性。