我们的项目是使用dot net 3.5开发的,我们使用更新面板ajax:toolkit和WebFormControls。 现在我们要升级项目并使用ajax jquery而是更新面板和ajax:toolkit。 我的问题是:最好的方法是什么? 我是否需要获取服务器上的数据将其转换为json并在客户端上呈现它(不使用WebFormControls。 或者在页面加载时,我必须使用Web窗体控件,当用户进行更改时,在服务器上进行渲染。
答案 0 :(得分:2)
ASP.NET AJAX页面方法听起来很合适,因为您可以从jQuery的static
函数调用.ajax()
页面方法,并且ASP.NET AJAX页面方法会自动编码为JSON。
这是一个示例,它将显示服务器在将页面(DOM就绪)加载到名为Results
的DIV中的时间:
标记:
<div id="Results"></div>
$(document).ready(function() {
$.ajax({
type: "POST",
url: "YourPage.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result) {
// Take the JSON returned from the page method and put it into the DIV
$("#Results").text(result.d);
}
});
});
代码隐藏:
[WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}
注意:ASP.NET AJAX页面方法必须是static
,因为它们无权访问页面上的实际页面或任何控件。它们非常适合从客户端进行异步调用以从服务器检索数据并将其自动返回为JSON,然后客户端可以显示,解析等等。