在aspx上单击按钮时运行c#代码

问题描述 投票:0回答:5

我有一个带有按钮的aspx页面。当用户单击按钮时,我必须在单独的.cs文件中运行一些c#代码。这样做的方法是什么?目前我有一种方法可以使用form.action将请求转发到另一个aspx页面但是有没有办法在按下按钮时运行c#代码?

谢谢

c# asp.net
5个回答
4
投票

使用事件处理程序

例如:

<asp:Button id="b1" runat="server" OnClick="b1_OnClick"/>

代码背后:

protected void b1_OnClick(object sender, EventArgs e)
{
 //call your .cs file code here
}

0
投票

您可以将.cs文件放入App_Code目录中,并且应该能够在该代码中调用可访问的方法,而无需引用外部程序集。


0
投票

它可以通过以下方式完成:

在ASPX文件中:

<asp:Button id="btnTarget" runat="server" Text="Target" OnClick="btnTarget_OnClick"/>

在代码隐藏(.cs)文件中:

//First put the namespace of your target class in using block

protected void btnTarget_OnClick(object sender, EventArges e)
{
    //Target.NameSpace.TargetClass target = new Target.NameSpace.TargetClass(); // without using namespace in using blcok
    TargetClass target = new TargetClass(); // you can use direct Namespece here
    target.TargetMethod();
}

更新:

将你的TargetClass代码放在应用程序周围的App_Code文件夹中,TargetClass应该是public访问修饰符。


0
投票

使用分部类的示例代码

物理文件名 - abc.cs

public partial class WebForm2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected override void OnInit(EventArgs e)
    {
        Button b = new Button();
        b.ID = "Button" + i;
        b.Text = "Button" + i;
        b.Click += new EventHandler(b_Click);
        form1.Controls.Add(b);
    }

}

物理文件名 - abc1.cs

public partial class WebForm2 : System.Web.UI.Page
{
    void b_Click(object sender, EventArgs e)
    {
        //some code
    }
}

0
投票

ASP.NET在事件驱动的模型中工作。无论用户执行什么操作,无论是按钮单击还是其他可以由位于aspx页面的代码隐藏中的事件处理程序监听的操作。

您可以将所有代码放在事件处理程序中,也可以从事件处理程序中调用其他类方法并执行您想要的任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.