Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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/31.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# 如何在cs文件中获取方法背后的当前页面请求参数?_C#_Asp.net_Webforms - Fatal编程技术网

C# 如何在cs文件中获取方法背后的当前页面请求参数?

C# 如何在cs文件中获取方法背后的当前页面请求参数?,c#,asp.net,webforms,C#,Asp.net,Webforms,我想创建方法来获取每个页面的eventstarget,使用类的方法 private static string sample() { return Page.Request.Params["__EVENTTARGET"]; } 我不是100%确定,但我认为您需要使用HttpContext,它是system.web名称空间的一部分。希望这有助于解决我在HttpContext.Current.Request.Params[“\uu EVENTTARGET]”中遇到的问题; 但另一个问题是无

我想创建方法来获取每个页面的eventstarget,使用类的方法

private static string sample()
{
    return Page.Request.Params["__EVENTTARGET"];
}

我不是100%确定,但我认为您需要使用HttpContext,它是system.web名称空间的一部分。希望这有助于解决我在HttpContext.Current.Request.Params[“\uu EVENTTARGET]”中遇到的问题; 但另一个问题是无法像这样在当前页面上使用页面的“查找”控件 我创建此方法是为了在null返回时获取按钮控件,我知道,但在某些情况下无法正常工作

private  string getPostBackControlID()
    {
        Control control = null;
        Page page = HttpContext.Current.Handler as Page;

        if (page != null)
        {
            string ctrlname = HttpContext.Current.Request.Params["__EVENTTARGET"];
            if (ctrlname != null && ctrlname != String.Empty)
            {
                control = page.FindControl(ctrlname);
            }
            else
            {
                string ctrlStr = String.Empty;
                Control c = null;
                foreach (string ctl in HttpContext.Current.Request.Form)
                {
                    if (ctl != null)
                    {

                        if (ctl.EndsWith(".x") || ctl.EndsWith(".y"))
                        {
                            ctrlStr = ctl.Substring(0, ctl.Length - 2);
                            c = page.FindControl(ctrlStr);
                        }
                        else
                        {
                            c = page.FindControl(ctl);
                        }
                        if (c is System.Web.UI.WebControls.Button ||
                                 c is System.Web.UI.WebControls.ImageButton)
                        {
                            control = c;
                            break;
                        }
                    }
                }
            }
            if (control != null)
            {
                return control.ID;
            }
            else
                return "";
        }
        return "";

    }

你可以找到像这样的页面

  Page page = HttpContext.Current.Handler as Page;

    if (page != null)
    {
       // Use page instance.
    }

希望能有所帮助。

你有没有试着看一下这个类似的论坛帖子:是的,但没有解释我的问题,后来我推动了一些方法来获取回发控件,但现在在不同的条件下发现了一些错误添加引用后,我可以测试并获得空结果朋友什么是空的?页面还是控件?你能粘贴你的代码吗?请完整的代码,而不是方法,我对名称空间也感兴趣。我需要一个用户控件后面的返回控件id,不再需要我的朋友。使用return“”真的是一种不好的做法;为什么现在返回String.empty???或者返回null如果返回字符串为空,我知道一些错误,请转到下一步