11
A
回答
19
if(IsPostBack)
{
// get the target of the post-back, will be the name of the control
// that issued the post-back
string eTarget = Request.Params["__EVENTTARGET"].ToString();
}
+0
你測試過了嗎?應該有兩個引導斜線 - 「__EVENTTARGET」 – 2008-10-09 18:39:11
2
檢查請求參數__EVENTTARGET的值,看看它是否是問題鏈接按鈕的ID。
2
按鈕的UniqueID將在的Request.Form [ 「__ EVENTTARGET」]
2
如果沒有work.Try UseSubmitBehavior="false"
1
基於公認的答案和鐵甲鋼拳這個的答案可能是一個更完整的答案。
首先添加到.aspx一個按鈕是這樣的:
<asp:Button id="btnExport" runat="server" Text="Export" UseSubmitBehavior="false"/>
然後在Page_Load方法:
if(IsPostBack){
var eventTarget = Request.Params["__EVENTTARGET"]
// Then check for the id but keep in mind that the name could be
// something like ctl00$ContainerName$btnExport
// if the button was clicked or null so take precautions against null
// ... so it could be something like this
var buttonClicked = eventTarget.Substring(eventTarget.LastIndexOf("$") + 1).Equals("btnExport")
}
0
我剛剛得到了同樣的麻煩,已經做的一些邏輯判斷Page_Load方法來處理不同的事件(哪個按鈕被點擊)。
我意識到手臂得到如下例子。
前端ASPX源代碼(我有ID的F2,F3,F6,F12的按鈕。
<Button Style="display: none" ID="F2" runat="server" Text="F2:Cancel" OnClientClick="SeiGyo(this)" OnClick="F2_Click" />
<Button Style="display: none" ID="F3" runat="server" Text="F3:Return" OnClientClick="SeiGyo(this)" OnClick="F3_Click" />
<Button Style="display: none" ID="F6" runat="server" Text="F6:Run" OnClientClick="SeiGyo(this)" OnClick="F6_Click" />
<Button Style="display: none" ID="F12" runat="server" Text="F12:Finish" OnClientClick="SeiGyo(this)" OnClick="F12_Click" />
後端aspx.cs源代碼,我需要做的是判斷哪個按鈕Page_Load中被觸發時被點擊了。這似乎有點愚蠢,但作品。我希望這將有助於其他一些
Dictionary<string, string> dic = new Dictionary<string, string>();
foreach(var id in new string[]{"F2","F3","F6","F12"})
{
foreach (var key in Request.Params.AllKeys)
{
if (key != null && key.ToString().Contains(id))
dic.Add(id, Request[key.ToString()].ToString());
}
}
相關問題
- 1. 在asp.net,Page_Load中發生的歷史單選按鈕OnCheckedChanged事件
- 2. ASP.NET在C#中單擊事件#
- 3. Dropdown_load事件和Page_load?
- 4. 如何在ASP.Net中的page_load事件中獲取字段值?
- 5. 如何驗證在Page_Load上在asp.net中單擊哪個LinkButton
- 6. 單元測試ASP.net Page_Load
- 7. 在主頁的'Page_Load'事件之前,ASP.NET頁面'Page_Load'正在觸發?
- 8. 單選按鈕檢查在asp.net中更改事件
- 9. map.clearLayers防止單擊事件中的「單擊」事件
- 10. ASP.NET添加html按鈕單擊事件
- 11. 檢查窗體上的按鈕單擊事件 - C#
- 12. 取消複選框的單擊事件阻止檢查它?
- 13. 在asp.net服務器端page_load事件中獲取JS返回值
- 14. ASP.Net - WebForms - 如何避免幾個Page_Load事件時點擊一個鏈接
- 15. 單擊按鈕時,按鈕的事件會在page_load之前觸發嗎?
- 16. Page_Load事件中的表單身份驗證
- 17. 單擊事件節點檢票
- 18. 爲seekbar thumb檢測長單擊事件
- 19. WebView檢測按鈕單擊事件
- 20. 在Web用戶控件中檢查Shift +單擊或Ctrl +單擊
- 21. ASP.net page_load未檢測到會話
- 22. 如何檢測在clickjs點擊事件中單擊+ [Shift,Ctrl,Alt]?
- 23. 單擊事件中斷提交事件
- 24. 檢查Page_Load在ResultsRepeater上點擊了哪個項目
- 25. 檢查單擊事件後,所有div是否隱藏
- 26. 取消所有事件從Page_Load中
- 27. 頁面Page_Load事件與中繼器ItemCommand
- 28. ASP.NET MVC檢測事件(點擊,下拉更改,複選框檢查)
- 29. Page_Load正在擊中兩次
- 30. asp.net中的按鈕點擊事件mvc
如果你的代碼是在OnClick事件依賴,那麼你可以把在那個特定的代碼OnPageRender覆蓋(而不是Page_Load),因爲它會在OnClick事件處理程序之後觸發。 – snumpy 2015-08-12 13:32:01