ASP.NET web服务和页面方法
目前,我使用javascript/jQuery调用了一个page方法,服务器返回一个json对象。我意识到我实际上希望在每个页面上都有这个页面方法。当然,我可以在每个页面上复制粘贴page方法,但我正在寻找更好的选择ASP.NET web服务和页面方法,asp.net,Asp.net,目前,我使用javascript/jQuery调用了一个page方法,服务器返回一个json对象。我意识到我实际上希望在每个页面上都有这个页面方法。当然,我可以在每个页面上复制粘贴page方法,但我正在寻找更好的选择 将page方法放入母版页。这容易吗 创建web服务。我的问题是:现在,页面知道哪个客户端通过sessionID请求该方法;web服务也知道谁在调用它吗?就业绩而言,它们是否具有可比性 让我知道你有什么建议和我应该注意的 谢谢。如果你想在每一页上都使用该功能,那就意味着在每一页上都有
谢谢。如果你想在每一页上都使用该功能,那就意味着在每一页上都有你需要的通用功能 在您的Web服务中,您可以公开多个绑定,一次用于javascript/jquery,它可以是json对象,另一次也可以用于html 将引用添加为项目中的服务引用或webreference。一旦它被添加,它将在每个页面上可用,并且您可以在您想要的所有页面上使用该方法 让我知道你需要更多的细节 试试这样的
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<Object> GetData(int pageSize)
{
}
$.ajax({
type: "POST",
url: "test.asmx/yourmethodname",
data: "{'somevalue':'14'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// response...here
},
error: function(msg) {
// error here
}
});
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
公共列表GetData(整型页面大小)
{
}
$.ajax({
类型:“POST”,
url:“test.asmx/yourmethodname”,
数据:“{'somevalue':'14'}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
//回答……这里
},
错误:函数(msg){
//这里出错
}
});
您可以执行面向对象的操作,并创建一个所有其他页面都从中继承的基本页面。比如:
public partial class BasePage : System.Web.UI.Page
{
[System.Web.Services.WebMethod]
public static string MyCallbackMethod(string someVar)
{
...
}
}
然后,其他页面将使用BasePage:
public partial class Default : BasePage
{
...
为什么我讨厌WebForms的原因号#102:为了做一些简单的事情,比如向一个简单的共享服务发出请求,你必须跳过这么多的障碍。同意-使用一个webservice,但不需要为单个服务创建单独的web service项目;单个服务可以作为一个项目添加到@frenchie的现有web项目OK中,看起来web服务可能会更好。如何使web服务返回json而不是XML?@frenchie,你在使用什么,我想正如你所说的webmethod,你可能正在使用.aspmx,对。。您可以很容易地将其作为json格式的字符串来完成,否则我认为.asmx支持json端点。我使用的是wcf,它自动公开json端点。目前,我使用的是一个aspx文件,我在里面放了一个web方法。web服务安全吗?@frenchie,你能更清楚地解释一下你的需求吗?我可以给你一些好的解决方案。