C# 单击所有按钮时调用函数
我需要在按钮单击时调用一个函数。它将检查页面控件的SQL注入 它需要是按钮控制的默认功能。这怎么可能 范例C# 单击所有按钮时调用函数,c#,asp.net,C#,Asp.net,我需要在按钮单击时调用一个函数。它将检查页面控件的SQL注入 它需要是按钮控制的默认功能。这怎么可能 范例 public void Button1_Click() { // Calling Default Function For Button After Run Logic Code // Logic Code Here } 在按钮中的所有逻辑代码之前调用默认函数。您不能这样做吗 //Create Function private void Function() { //Do som
public void Button1_Click()
{
// Calling Default Function For Button After Run Logic Code
// Logic Code Here
}
在按钮中的所有逻辑代码之前调用默认函数。您不能这样做吗
//Create Function
private void Function()
{
//Do something
}
protected void Button1_Click()
{
// Logic Code Here
//Call function
Function();
}
protected void Button2_Click()
{
// Logic Code Here
//Call function
Function();
}
如果您希望整个代码中的每个控件实例都执行自定义逻辑,并且只想定义该逻辑一次,那么听起来您正在谈论构建一个自定义逻辑 例如,您可以构建从
按钮继承的控件。我已经很久没有处理WebForms了,但是面向对象编程的一般原则是一样的。整体结构可能很简单,如下所示:
public class MyButton : Button
{
protected override void OnClick(EventArgs e)
{
// perform your custom logic here
base.OnClick();
}
}
(但框架可能需要更多的仪式,如属性、其他重写方法等。这只是您开发的起点,向您介绍了广泛的概念。无论如何,查看其他自定义控件示例,看看如何进一步自定义和完善您的控件,是值得的。)
这样做的想法是,在整个代码库中,您将使用这个自定义按钮,而不是标准按钮。由于它继承了按钮
类,因此它是一个按钮
,可以完成按钮
所能做的一切。但它也会执行您添加到此类中的任何代码
因此,您只需在一个对象中编写逻辑,然后在整个代码中使用该对象。您的web.config
需要全局注册一个“标记前缀”,以允许您在页面中引用控件:
<system.web>
<pages>
<controls>
<add tagPrefix="myControls" Assembly="MyControlsAssembly" namespace="MyNamespace">
</add>
</controls>
</pages>
</system.web>
<myControls:MyButton runat="server"></myControls:MyButton>
(当然,使用适用于您的场景的值,例如您自己的程序集名称和更有意义的选项卡前缀。)
您可以在页面中使用该控件:
<system.web>
<pages>
<controls>
<add tagPrefix="myControls" Assembly="MyControlsAssembly" namespace="MyNamespace">
</add>
</controls>
</pages>
</system.web>
<myControls:MyButton runat="server"></myControls:MyButton>
我不清楚你在问什么。如果您只想从单击处理程序中调用一个方法,是什么阻止您这样做的?它将是按钮控件的默认值。我会写一次代码,当点击项目中的按钮时,函数会自动调用。您现在明白了吗?听起来您可能想(1)在所有按钮的开头放置一个方法调用,或者(2)编写一个自定义的按钮对象,该对象从标准按钮中继承,并对任何单击事件执行其默认操作,然后调用其他附加的单击处理程序。project中的所有按钮?不,你们所说的项目中的所有按钮是什么意思@ÖmürCanYurdugülIt将是项目中所有按钮的默认功能。例如然后,它将自动导入按钮单击事件。如果所有按钮都有OnClick=“Button1\u click”
,则所有按钮都将使用此功能。如果没有,您必须在所有OnClick
函数上调用该函数。正如@hmax所说,您需要将相同的Click\u事件分配给所有按钮,然后通过开关确定单击哪个按钮来执行某些任务,默认情况下,运行您的函数。