Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET web服务和页面方法_Asp.net - Fatal编程技术网

ASP.NET web服务和页面方法

ASP.NET web服务和页面方法,asp.net,Asp.net,目前,我使用javascript/jQuery调用了一个page方法,服务器返回一个json对象。我意识到我实际上希望在每个页面上都有这个页面方法。当然,我可以在每个页面上复制粘贴page方法,但我正在寻找更好的选择 将page方法放入母版页。这容易吗 创建web服务。我的问题是:现在,页面知道哪个客户端通过sessionID请求该方法;web服务也知道谁在调用它吗?就业绩而言,它们是否具有可比性 让我知道你有什么建议和我应该注意的 谢谢。如果你想在每一页上都使用该功能,那就意味着在每一页上都有

目前,我使用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,你能更清楚地解释一下你的需求吗?我可以给你一些好的解决方案。