在Page_Load 中判断是哪个控件触发了postback
2006-09-01 13:19
567 查看
在Page_Load 中判断是哪个控件触发了postback(Detect in Page_Load which control caused a postback)
Private Function DidControlCausePostBack(ByVal uniqueID As String) As Boolean
Dim bool As Boolean = False
bool = (Not Request.Form(uniqueID) Is Nothing) OrElse (Not Request.Form("__EVENTTARGET") Is Nothing AndAlso Request.Form("__EVENTTARGET").Equals(uniqueID)) OrElse ((Not Request.Form(uniqueID & ".x") Is Nothing) AndAlso (Not Request.Form(uniqueID & ".y") Is Nothing))
Return bool
End Function
private bool DidControlCausePostBack(string uniqueID)
{
return (!(Request.Form[uniqueID] == null)) || (!(Request.Form["__EVENTTARGET"] == null) && Request.Form["__EVENTTARGET"].Equals(uniqueID)) || ((!(Request.Form[uniqueID + ".x"] == null)) && (!(Request.Form[uniqueID + ".y"] == null)));
}
Protected WithEvents LinkButton1 As System.Web.UI.WebControls.LinkButton
Protected WithEvents ImageButton1 As System.Web.UI.WebControls.ImageButton
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If DidControlCausePostBack(Button1.UniqueID) Then
Response.Write("Button1")
End If
If DidControlCausePostBack(LinkButton1.UniqueID) Then
Response.Write("LinkButton1")
End If
If DidControlCausePostBack(ImageButton1.UniqueID) Then
Response.Write("ImageButton1")
End If
End Sub
该方法仅对Buttons, LinkButtons and ImageButtons有效
Private Function DidControlCausePostBack(ByVal uniqueID As String) As Boolean
Dim bool As Boolean = False
bool = (Not Request.Form(uniqueID) Is Nothing) OrElse (Not Request.Form("__EVENTTARGET") Is Nothing AndAlso Request.Form("__EVENTTARGET").Equals(uniqueID)) OrElse ((Not Request.Form(uniqueID & ".x") Is Nothing) AndAlso (Not Request.Form(uniqueID & ".y") Is Nothing))
Return bool
End Function
private bool DidControlCausePostBack(string uniqueID)
{
return (!(Request.Form[uniqueID] == null)) || (!(Request.Form["__EVENTTARGET"] == null) && Request.Form["__EVENTTARGET"].Equals(uniqueID)) || ((!(Request.Form[uniqueID + ".x"] == null)) && (!(Request.Form[uniqueID + ".y"] == null)));
}
Protected WithEvents LinkButton1 As System.Web.UI.WebControls.LinkButton
Protected WithEvents ImageButton1 As System.Web.UI.WebControls.ImageButton
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If DidControlCausePostBack(Button1.UniqueID) Then
Response.Write("Button1")
End If
If DidControlCausePostBack(LinkButton1.UniqueID) Then
Response.Write("LinkButton1")
End If
If DidControlCausePostBack(ImageButton1.UniqueID) Then
Response.Write("ImageButton1")
End If
End Sub
该方法仅对Buttons, LinkButtons and ImageButtons有效
相关文章推荐
- 在Page_Load 中判断是哪个控件触发了postback(Detect in Page_Load which control caused a postback)
- 如何在page_load中判断是哪个控件触发的事件?
- Page_Load与sender -- PostBack是由哪个 ASP.NET控件引起 ?
- 判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序
- 判断是否为按钮单击事件触发的page_load
- 如何在page_load方法判断是服务器端控件引发的page_load方法
- web控件在.aspx页面中在.aspx.cs后台代码Page_Load()中都设置了相同的属性,哪个优先级高?
- 如何在page_load方法判断是服务器端控件引发的page_load方法
- 可不可以在page_load里判定是哪个控件引发的呢?
- 如何在page_load方法判断是服务器端控件引发的page_load方法
- C# TabControl控件中TabPage选项卡选择时触发事件
- 获得触发POSTBACK事件的控件ID(转)
- 避免多次触发Page_Load
- 页面(Page)加载用户控件(UserControl)的事件触发顺序
- asp.net的一个重要发现(Page_Load()的执行次序先控件的事件函数)。
- .net判断触发控件不能判断button,imgbutton,对linkbutton有效
- 在PageLoad中 检测引起回传页面的控件
- 转:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)
- C#/VB.NET判断右键弹出菜单的来源控件(从哪个控件弹出来的)
- .net触发事件Page_Init、Page_Load方法