C# 如何在C中将一个WebMethod字段调用到另一个WebMethod#

C# 如何在C中将一个WebMethod字段调用到另一个WebMethod#,c#,asp.net,webmethod,C#,Asp.net,Webmethod,我正在研究两个web方法,我想从另一个web方法访问一个字段,我不知道如何才能做到这一点。 我想在另一个web方法中调用DivisionCode,可以吗 WebMethod1获取公司信息: 从这个web方法中,我想获得DivisionCode=company.DivisionCode,并将其作为参数传递到另一个web方法中 [WebMethod] public static List<Company> Getcompanies(string Countrycode,

我正在研究两个web方法,我想从另一个web方法访问一个字段,我不知道如何才能做到这一点。 我想在另一个web方法中调用
DivisionCode
,可以吗

WebMethod1获取公司信息

从这个web方法中,我想获得
DivisionCode=company.DivisionCode
,并将其作为参数传递到另一个web方法中

 [WebMethod]
        public static List<Company> Getcompanies(string Countrycode, string Companycode)
        {
            GetInitiatorList.MasterDataServiceClient oClient = new GetInitiatorList.MasterDataServiceClient();
            Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] initiatorslist = oClient.GetCompanies(Countrycode, Companycode);
            //almarai.giveaway.getinitiatorlist.alm_company_m[] companymlist = initiatorslist.companies;
            List<Company> companyes = new List<Company>();
            foreach (Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M company in initiatorslist)
            {
                companyes.Add(new Company()
                {
                    CompanyCode = company.CompanyCode,
                    CompanyName = company.CompanyName,
                    DivisionCode = company.DivisionCode
                });
            }
            return companyes;
        }
WebMethod 2 GetDivision

这是我的第二个web方法,我想将FirsrWebMethod字段传递给另一个web方法(
DivisionCode=company.DivisionCode

JS

公司:

function BindCompanies() {
                var countrycode = $('#ddlCountry').val();

            $('#ddlCompany').empty();

            if (countrycode == 'OMN') {
                Companycode = '7000';
            }
            else if (countrycode == 'SAU') {
                Companycode = '1000';
            }
            else if (countrycode == 'UAE') {
                Companycode = '5000';
            }
            else if (countrycode == 'BAH') {
                Companycode = '4000';
            }
            else if (countrycode == 'KWT') {
                Companycode = '6000';
            }
                $.ajax({
                    type: "POST",
                    url: "Header.aspx/Getcompanies",
                    data: JSON.stringify({ Countrycode: countrycode, Companycode: Companycode }),
                    dataType: "json",
                    contentType: "application/json",
                    success: function (res) {
                        $.each(res.d, function (data, value) {
                            $("#ddlCompany").append($("<option></option>").val(value.CompanyCode).html(value.CompanyName));

                        });
                    }
                });
            }
在我的AJAX方法中,我从所选下拉列表中传递了两个参数,我想将另一个参数作为分区代码从一个WebMethod传递到另一个WebMethod

也许我们可以通过AJAX,但我如何在ASPX中存储(DevisionCode不是单值,而是列表,正如您所看到的,我只在列表中存储这些值)


请帮助我

那么,您从哪里调用GetDivision webmethod?大概它来自一个页面,使用JavaScript/AJAX?如果是这样,那么就必须在这里添加额外的参数。因此,您必须获得对第一个方法的响应,从响应数据中提取所需的代码,并在对第二个方法的调用中使用它。在没有看到JS代码的情况下,很难确切地确定应该编写什么代码,但这是一般的想法。@Adyson我正在使用JQuery AJAX从Aspx页面调用GetDivision。好的,我正在更新我的js代码,请检查我更新的代码好的。你打电话给公司时怎么样?您是否从结果中提取了部门代码数据,并将其存储在某个位置,就像(看起来)您对CountryCode和CompanyCode所做的那样?似乎您只需要对第三个字段再次执行相同的过程。我不确定-您仍然只展示了场景的一部分。我不太明白这里的目的。。。GetDivision将返回特定国家/地区和公司内所有部门的列表。你用它来填充一个分区下拉列表。这完全有道理。那么,为什么要在其中放入特定的除法代码呢?您真的需要一个单独的webmethod来返回单个分区的详细信息吗?表面上看,这完全没有道理。我不知道你的意思。如果可以通过2个字段,则可以通过3个字段。你尝试了什么,出了什么问题?就像我说的,如果你不显示所有的代码,我就不能给你具体的建议。另外,请参考我之前的评论,并解释为什么要这样做,因为这样做没有逻辑意义。
[WebMethod]
        public static List<Devision> GetDivision(string Countrycode, string Companycode)
        {
            string Divisi = string.Empty;
            var v = new Company();
            v.DivisionCode = Divisi;  //v.DivisionCode returning "" (Empty string)
            GetInitiatorList.MasterDataServiceClient oClient = new GetInitiatorList.MasterDataServiceClient();
           // Almarai.GiveAway.GetInitiatorList.INITIATORS_LIST initiatorsList = oClient.GetInitiatorsListByWorkflow(userid, work);
            Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] divisionMList = oClient.GetActiveDivisions(Countrycode, Companycode, Divisi) ; 
            List<Devision> Division = new List<Devision>();
            foreach (Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M Devision in divisionMList)
            {
                Division.Add(new Devision()
                {
                    DevisionCode = Devision.DivisionCode,
                    DevisionName = Devision.DivisionName
                });
            }
            return Division;
        }
public class Devision
        {
            public string DevisionCode { get; set; }
            public string DevisionName { get; set; }
        }
 $('#ddlCompany').change(function (e) {
                    BindDivision();
                });
function BindCompanies() {
                var countrycode = $('#ddlCountry').val();

            $('#ddlCompany').empty();

            if (countrycode == 'OMN') {
                Companycode = '7000';
            }
            else if (countrycode == 'SAU') {
                Companycode = '1000';
            }
            else if (countrycode == 'UAE') {
                Companycode = '5000';
            }
            else if (countrycode == 'BAH') {
                Companycode = '4000';
            }
            else if (countrycode == 'KWT') {
                Companycode = '6000';
            }
                $.ajax({
                    type: "POST",
                    url: "Header.aspx/Getcompanies",
                    data: JSON.stringify({ Countrycode: countrycode, Companycode: Companycode }),
                    dataType: "json",
                    contentType: "application/json",
                    success: function (res) {
                        $.each(res.d, function (data, value) {
                            $("#ddlCompany").append($("<option></option>").val(value.CompanyCode).html(value.CompanyName));

                        });
                    }
                });
            }
function BindDivision() {
   //var DivisionCode = Not sure how to pass
    var companycode = $('#ddlCompany').val();
    var countrycode = $('#ddlCountry').val();
    $('#ddlDivision').empty();
    $.ajax({
    type: "POST",
    url: "Header.aspx/GetDivision",
    data: JSON.stringify({ Countrycode: countrycode, Companycode: companycode }),
    dataType: "json",
    contentType: "application/json",
    success: function (res) {
     $.each(res.d, function (data, value) {
        $("#ddlDivision").append($("<option></option>").val(value.DevisionCode).html(value.DevisionName));

                     });
                 }
             });
         }