Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
C# 如何使用asp.net查找webmethod中的服务器控件?_C#_Asp.net_Webmethod - Fatal编程技术网

C# 如何使用asp.net查找webmethod中的服务器控件?

C# 如何使用asp.net查找webmethod中的服务器控件?,c#,asp.net,webmethod,C#,Asp.net,Webmethod,我已经在aspx.cs文件中编写了我的webmethod,但是当我在同一页面中调用n.Nautilus()方法时,我无法在Nautilus()中获取服务器端控件,在该方法控件变为NULL时,请尽快找到此问题的原因和解决方案 [WebMethod] public static string Execute4() { NewQuote2 n = new NewQuote2(); JavaScriptSerializer

我已经在aspx.cs文件中编写了我的webmethod,但是当我在同一页面中调用n.Nautilus()方法时,我无法在Nautilus()中获取服务器端控件,在该方法控件变为NULL时,请尽快找到此问题的原因和解决方案

[WebMethod]
        public static string Execute4()
        {
            NewQuote2 n = new NewQuote2();

            JavaScriptSerializer j = new JavaScriptSerializer();
            string r = string.Empty;
            var o = Observable.Start(() =>
            {
                // Thread.Sleep(7000);
                PennStar pn = new PennStar();
                r = j.Serialize(new { res = n.Nautilus() });
            }, Scheduler.NewThread);
            o.First();
           // r = n.Nautilus();
            return r;
        }

    public string Nautilus()
            {
                try
                {
                    if (ddlLineCode.SelectedItem.Value == "GL")
            {
                deductible = Convert.ToInt32(ddlGLdeductible.SelectedItem.Text);
                //ClassCode = Convert.ToInt32(ddlClassCode1.SelectedValues.ToString());
                ClassCode = Convert.ToInt32(ddlClasscode.SelectedValue);
            }
            else if (ddlLineCode.SelectedItem.Value == "PP" || ddlLineCode.SelectedItem.Value == "PR")
            {
                deductible = Convert.ToInt32(ddlPropdeductible.SelectedValue);
            }
            string T = ddlTerritory.SelectedItem.Text;

            QMSRatingEngine.Nautilus QR = new QMSRatingEngine.Nautilus();
            ArrayList Result = new ArrayList();

            if (LC == "GL")
            {
                QMSRatingEngine.NautilusAgents.ReturnGLRate gl = QR.GLRateObject(state, ED, deductible, ClassCode, ddlLimit.SelectedItem.Text, T);
                Result.Add(gl);
                getNautilusRatedata(gl);//this method code i can write the bellow
            }
            if (LC == "PP" || LC == "PR")
            {
                QMSRatingEngine.NautilusAgents.ReturnPropRate PRop = QR.PropertyRateObject(state, ED, ddlPropFormtype.SelectedItem.Text, ddlPropconstructiontype.SelectedItem.Text, ddlPropcovergetype.SelectedItem.Text, deductible, ddlPropuwscale.SelectedItem.Text, ddlPropprotectionclass.SelectedItem.Text, T);
                Result.Add(PRop);
            }
    }
return lbltext.Text;
    }

 private void getNautilusRatedata(QMSRatingEngine.NautilusAgents.ReturnGLRate gl)
        {
            lblNautilusPremiumbasis.Text = GetPremiumBasisFormat(txtExposure.Text);
            lblNautilusDeductible.Text = getCurrencyFormat(ddlGLdeductible.SelectedItem.Text);
            string Type = ddlPremiumBasis.SelectedItem.Text;
            decimal Premium = Convert.ToDecimal(gl.BaseRate_Prem.ToString());
            decimal nautilusPremiumBasis = Convert.ToDecimal(txtExposure.Text);
            decimal Prod = Convert.ToDecimal(gl.BaseRate_Prod.ToString());
            decimal CalcPremium = 0, CalcProd = 0;
            if (Type == "A - AREA" || Type == "M - ADMISSION" || Type == "U - UNITS" || Type == "O - OTHER")
            {
                CalcPremium = (Premium * nautilusPremiumBasis);
                lblNautilusPremisesOp.Text = getCurrencyFormat(Math.Round(CalcPremium).ToString());
                CalcProd = (Prod * nautilusPremiumBasis);
                lblNautilusProductsCoop.Text = getCurrencyFormat(Math.Round(CalcProd).ToString());
            }
            if (Type == "C - TOTAL COST" || Type == "P - PAYROLL" || Type == "S - GROSS SALES")
            {
                CalcPremium = (Premium * nautilusPremiumBasis) / 1000;
                lblNautilusPremisesOp.Text = getCurrencyFormat(Math.Round(CalcPremium).ToString());
                CalcProd = (Prod * nautilusPremiumBasis) / 1000;
                lblNautilusProductsCoop.Text =getCurrencyFormat(Math.Round(CalcProd).ToString());
            }
            lblNautilusGLPremium.Text = getCurrencyFormat(Math.Round((Math.Round(CalcProd) + Math.Round(CalcPremium))).ToString());
            lblNautilusSubTotal.Text = getCurrencyFormat(Math.Round((Math.Round(CalcProd) + Math.Round(CalcPremium))).ToString());
            lblNautilusGrandTotal.Text = getCurrencyFormat(Math.Round((Math.Round(CalcProd) + Math.Round(CalcPremium))).ToString());

            //string jstablelattest = "moneyCoverage";
            //ClientScript.RegisterClientScriptResource(this.GetType(), jstablelattest);
        }

因为您正在从
公共静态字符串Execute4()
调用
Nautilus()
函数,而且
Execute4()
webmethod
因此
static
您无法找到任何控件,因为它们不是静态的


您应该尝试从
webmethod
返回结果和值,并在客户端使用这些结果执行诸如显示/隐藏div等操作。

找到了它们!真的—“尽快”?但我已经用Nautilus()方法编写了更多的代码,这些代码不在客户端编写,(我可以更改代码并检查它),然后给我举个例子