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.
}
但我一直未定義....