-1

我想创建方法来获取每个页面的事件目标使用我的类方法

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

3 回答 3

0

You can find page with like this

  Page page = HttpContext.Current.Handler as Page;

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

Hope it helps.

于 2013-07-08T13:42:38.850 回答
0

我不是 100% 确定,但我认为您需要使用 HttpContext ,它是 system.web 命名空间的一部分。希望这可以帮助

于 2013-07-08T13:15:28.990 回答
0

我用这个解决了我的问题,HttpContext.Current.Request.Params["__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 "";

    }
于 2013-07-08T13:19:36.530 回答