最近我了解到,您可以使用脚本管理器并将EnablePageMethods=设置为“真”,这是我想要做的事情,但这会有任何安全隐患吗?
还有,有没有更新更好的方法呢?
发布于 2013-07-20 03:17:57
EnablePageMethods="true"真正要做的就是生成一个内联JavaScript代理,它允许通过PageMethods语法回调ASP.NET AJAX Page Methods。
我更喜欢通过jQuery的.ajax()方法调用ASP.NET AJAX Page Methods,如下所示:
代码隐藏
[WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}JavaScript:
$.ajax({
type: "POST",
url: "PageName.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Do something interesting here.
}
});注意:由于ASP.NET AJAX Page Methods会自动将它们的响应序列化到JSON,因此"json"是AJAX调用的返回dataType。contentType描述您要发送到服务器的内容。
发布于 2013-07-20 03:15:43
它不会比向网站添加任何普通的网页或服务具有更多的安全隐患。所需的预防措施是相同的--在没有事先验证的情况下不要使用任何输入,不要无意中在错误消息中返回敏感信息,等等。
如果你不介意切换到一个新的平台,有一种更新的方式可以说是更好的:ASP.Net MVC,以及相关的"Web“。(You can use Web API with Webforms also,感谢卡尔·安德森在评论中提到的内容。)
https://stackoverflow.com/questions/17753644
复制相似问题