C# 如何在cs文件中获取方法背后的当前页面请求参数?
我想创建方法来获取每个页面的eventstarget,使用类的方法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]”中遇到的问题; 但另一个问题是无
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如果返回字符串为空,我知道一些错误,请转到下一步