是否可以取消已触发的事件?
Is it possible to cancel a triggered event?
我正在开发asp.net web应用程序。在这种情况下,对于一个按钮点击Page_Load
事件是触发button_click
之前的。所以我的问题是,在基于某些条件的Page_Load
中是否有可能暂停button_click
事件。(c#或Vb都可以。Net解决方案是可以接受的)。目前,我通过使用一些标志值来实现这一点,如下所示:
根据某些条件在页面加载中设置标志值
bool buttonFlag = false;
protected void Page_Load(object sender, EventArgs e)
{
if (condition) { buttonFlag = true; }
}
检查标志值并调用方法,如果标志值为真(因此操作只在标志值为真时执行),因此我们可以根据页面加载时设置的条件跳过操作。
protected void Button1_Click(object sender, EventArgs e)
{
if (buttonFlag)
{//call mymethod
myMethod();
}
}
是否可以在不使用标志的情况下挂起事件?
我想你已经将Button1_Click
函数与visual studio中的标准页面设计器链接到单击事件。如果您希望事件处理程序在某些条件下处于活动状态,则必须更动态地绑定它。
首先需要删除页面设计器中单击事件框中的函数名。
然后,你可以把它附加到你的页面加载:
protected void Page_Load(object sender, EventArgs e)
{
if (condition) {
Button1.Click += Button1_Click;
}
}
相关文章:
- 取消绑定主干视图事件
- 阻止浏览器对keydown事件作出反应,但不取消该事件
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 从父元素取消绑定滚动事件并绑定到子元素
- 网格取消事件未启动
- 按键处理程序取消事件
- 取消拖动&选择事件
- 正在取消IE11中的JavaScript事件
- Ajax 请求正在取消页面上的其他 JS 事件
- jQuery UI 选项卡取消选择事件或在选择时保存上一个选项卡
- 使用 ng-change 对输入类型数据进行 JavaScript 取消事件
- 取消 iframe 中具有 target=“_parent” 属性的链接事件
- 选中/取消选中某些事件的复选框
- Jquery:如何处理"停止/取消”;用户停止表单提交时的事件
- 取消表中一列的onclick事件
- 根据文件类型取消绑定和重新绑定click事件处理程序
- 使用onclick事件取消隐藏多个元素
- AngularJS$locationChangeStart事件取消路由导航
- onchange javascript点击事件取消了另一个
- 响应(在)卸载事件取消订阅PubNub通道