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