菜鸟提问, 如何在一个函数中调用一个事件

时间:2021-12-19 07:02:19
1.页面中有一个Datagrid, 对应一个事件
private void dgCopies_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch (e.CommandName)
{
                               ....
                         case "AnnulerCopie":
{
                                      当点击这个按钮的时候
                                       执行代码
break;
}
}
Rebind();
}
2.我的问题是,我想自己定义一个函数,它的功能就相当于我点击这个按钮调用这个事件.
先谢谢各位大神了

8 个解决方案

#1


事件是拥有着触发的,不允许外部去“假装触发事件”。你充其量可以模拟去模拟键盘鼠标去发送某个操作消息,而你无权直接触发什么事件。

#2


非要调用:
dgCopies_ItemCommand(this, new System.Web.UI.WebControls.DataGridCommandEventArgs(...))

#3


引用 1 楼 sp1234 的回复:
事件是拥有着触发的,不允许外部去“假装触发事件”。你充其量可以模拟去模拟键盘鼠标去发送某个操作消息,而你无权直接触发什么事件。
 
明白了谢谢

#4


引用 2 楼 caozhy 的回复:
非要调用:
dgCopies_ItemCommand(this, new System.Web.UI.WebControls.DataGridCommandEventArgs(...))


我像你这么试过,但是我不知道第二参数填什么,如果可以能举个简单的例子吗,大神 菜鸟提问, 如何在一个函数中调用一个事件

#5


两位先睡, 等你们消息

#6


引用 4 楼 LotoQuebec 的回复:
Quote: 引用 2 楼 caozhy 的回复:

非要调用:
dgCopies_ItemCommand(this, new System.Web.UI.WebControls.DataGridCommandEventArgs(...))


我像你这么试过,但是我不知道第二参数填什么,如果可以能举个简单的例子吗,大神 菜鸟提问, 如何在一个函数中调用一个事件


你把这个方法里边的代码封装为一个独立处理方法然后调用就行了!何必要纠结什么“ItemCommand、参数”之类的。

说白了,就是这里根本没有半点“事件”概念。就是你需要先为某个功能处理定义个方法,然后 dgCopies_ItemCommand 和你的其它的方法都可以去调用它。

#7


例如你可以写
private void dgCopies_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch (e.CommandName)
{
                               ....
                         case "AnnulerCopie":
{
                                      当点击这个按钮的时候
                                       方法abc()
break;
}
}
Rebind();
}

public void 方法abc()
{
........
}

这里的方法abc才是你要调用的东西,而private void dgCopies_ItemCommand 根本不需要调用。

#8


取决于它的构造函数,自己查查。

#1


事件是拥有着触发的,不允许外部去“假装触发事件”。你充其量可以模拟去模拟键盘鼠标去发送某个操作消息,而你无权直接触发什么事件。

#2


非要调用:
dgCopies_ItemCommand(this, new System.Web.UI.WebControls.DataGridCommandEventArgs(...))

#3


引用 1 楼 sp1234 的回复:
事件是拥有着触发的,不允许外部去“假装触发事件”。你充其量可以模拟去模拟键盘鼠标去发送某个操作消息,而你无权直接触发什么事件。
 
明白了谢谢

#4


引用 2 楼 caozhy 的回复:
非要调用:
dgCopies_ItemCommand(this, new System.Web.UI.WebControls.DataGridCommandEventArgs(...))


我像你这么试过,但是我不知道第二参数填什么,如果可以能举个简单的例子吗,大神 菜鸟提问, 如何在一个函数中调用一个事件

#5


两位先睡, 等你们消息

#6


引用 4 楼 LotoQuebec 的回复:
Quote: 引用 2 楼 caozhy 的回复:

非要调用:
dgCopies_ItemCommand(this, new System.Web.UI.WebControls.DataGridCommandEventArgs(...))


我像你这么试过,但是我不知道第二参数填什么,如果可以能举个简单的例子吗,大神 菜鸟提问, 如何在一个函数中调用一个事件


你把这个方法里边的代码封装为一个独立处理方法然后调用就行了!何必要纠结什么“ItemCommand、参数”之类的。

说白了,就是这里根本没有半点“事件”概念。就是你需要先为某个功能处理定义个方法,然后 dgCopies_ItemCommand 和你的其它的方法都可以去调用它。

#7


例如你可以写
private void dgCopies_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch (e.CommandName)
{
                               ....
                         case "AnnulerCopie":
{
                                      当点击这个按钮的时候
                                       方法abc()
break;
}
}
Rebind();
}

public void 方法abc()
{
........
}

这里的方法abc才是你要调用的东西,而private void dgCopies_ItemCommand 根本不需要调用。

#8


取决于它的构造函数,自己查查。