基本上,我有一个中继器。当我单击中继器的一行时,我想先处理ItemCommand,然后处理Page_Load。有什么办法可以做到吗?如果没有,是否有方法在ItemCommand上调用Page_Load事件?
谢谢。
发布于 2014-03-25 16:21:02
我想先处理ItemCommand,然后处理Page_Load
不,这不可能。ASP.NET页面生命周期首先调用Page_Load,然后执行事件处理程序。
如果没有,是否有方法在ItemCommand上调用Page_Load事件?
那么,您可以在ItemCommand中显式地调用Page_Load处理程序。要获取事件详细信息(源和参数),可以使用请求参数:
// you most likely know the source control that fired the event, right?
string control = Page.Request.Params["__EVENTTARGET"];
// arguments of the event - you might need some parsing though, not sure about their format
string args = Page.Request.Params["__EVENTARGUMENT"];然而,首先,您应该重新评估您的总体方法--您确定这是正确的做法吗?ASP.NET是这样设计的,这是有原因的,也许你应该找到一种更传统的方法来做事情。
发布于 2014-03-25 16:20:49
使用Repeater.ItemCommand事件
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemcommand(v=vs.110).aspx
https://stackoverflow.com/questions/22640374
复制相似问题