使用在这个问题上作为答案发布的代码,可以找到导致回发操作的控件。
但是,可以检查该控件调用了哪个事件?例如,在执行等效方法(编辑)之前识别由 GridView 触发的编辑事件。
提前致谢。
这取决于客户端代码是否提供此信息。例如,标准 GridView 在单击排序标题链接时同时设置 __EVENTTARGET 和 __EVENTARGUMENT:
Request.Form["_ EVENTTARGET"] 包含"ctl00$MainContent$GridView1" Request.Form[" _ EVENTARGUMENT"] 包含"Sort$id"
其中 __EVENTARGUMENT 包含有关这是一个排序操作的信息,以及要排序的列,以 $ 分隔。
对于分页,__EVENTARGUMENT 值看起来类似:
Request.Form["__EVENTARGUMENT"] 包含 "Page$2"
请注意,并非所有控件都会在回发时填充 __EVENTARGUMENT,因此您必须进行测试。