0
就是這樣。我需要讀取一個服務器控件事件,它會在Init之後「發生」,但我需要在Init期間執行它。信息在那裏,我該如何解決?ASP.NET在Page_Init中讀取事件
編輯:
具體來說,我試圖找到其菜單項的菜單被點擊了。它需要在Page_Init中完成,因爲它驅動了一些其他代碼(必須存在於Page_Init中)。
就是這樣。我需要讀取一個服務器控件事件,它會在Init之後「發生」,但我需要在Init期間執行它。信息在那裏,我該如何解決?ASP.NET在Page_Init中讀取事件
編輯:
具體來說,我試圖找到其菜單項的菜單被點擊了。它需要在Page_Init中完成,因爲它驅動了一些其他代碼(必須存在於Page_Init中)。
您可以輕鬆地識別哪些控件引起該事件的東西,如:
public static Control GetPostBackControl(Page page)
{
Control control = null;
string ctrlname = page.Request.Params.Get("__EVENTTARGET");
if (ctrlname != null && ctrlname != string.Empty)
{
control = page.FindControl(ctrlname);
}
else
{
foreach (string ctl in page.Request.Form)
{
Control c = page.FindControl(ctl);
if (c is System.Web.UI.WebControls.Button)
{
control = c;
break;
}
}
}
return control;
}
從http://ryanfarley.com/blog/archive/2005/03/11/1886.aspx
解除雖然我從來沒有真正需要的事件數據我已經成功使用此之前 - 只是對事件的認識被解僱。
如果我還需要數據? – Michael 2011-05-20 16:10:09
它將在請求的某個地方 - 當你說讀取服務器控制事件時,你能詳細說明你正在嘗試實現什麼以及正在處理的控件/事件類型。謝謝。 – iandayman 2011-05-20 16:42:23
答案是:Request.Params.Get(「__ EVENTARGUMENT」) – Michael 2011-05-20 17:04:37