我有一个带有按钮的aspx页面。当用户单击按钮时,我必须在单独的.cs文件中运行一些c#代码。这样做的方法是什么?目前我有一种使用form.action将请求转发到另一个aspx页面的方法,但有没有办法在按下按钮时运行c#代码?
由于
答案 0 :(得分:4)
使用事件处理程序
例如:
<asp:Button id="b1" runat="server" OnClick="b1_OnClick"/>
代码背后:
protected void b1_OnClick(object sender, EventArgs e)
{
//call your .cs file code here
}
答案 1 :(得分:0)
您可以将.cs文件放到App_Code
目录中,并且应该能够在该代码中调用可访问的方法,而无需引用外部程序集。
答案 2 :(得分:0)
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);
}
}
public partial class WebForm2 : System.Web.UI.Page
{
void b_Click(object sender, EventArgs e)
{
//some code
}
}
答案 3 :(得分:0)
可以通过以下方式实现:
<asp:Button id="btnTarget" runat="server" Text="Target" OnClick="btnTarget_OnClick"/>
//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
访问修饰符。
答案 4 :(得分:0)
ASP.NET在事件驱动的模型中工作。无论用户执行什么操作,无论是按钮单击还是其他可以由位于aspx页面代码隐藏中的事件处理程序监听的操作。
您可以将所有代码放在事件处理程序中,也可以从事件处理程序中调用其他类方法并执行任何操作。