【发布时间】:2012-03-10 22:59:39
【问题描述】:
我正在用 asp.net 编写一个网络应用程序。 我有一个调用生成按钮并返回按钮的类(测试)的 aspx 页面。 类构造函数获取按钮单击事件应激活的功能(userClickOnButton) 和 插入到button.click += EventHandler("函数名(userClickOnButton)");
问题是,在代码后面的 aspx 中,我使用 IsPostBack(无法将其取下,需要此条件),当我单击按钮时,程序不会转到我为按钮创建的事件,但是当我采取关闭 IsPostBack 条件,程序确实会转到我创建的事件(函数 userClickOnButton)。
我的代码是: 后面的aspx代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Test test = new Test(userClickOnButton);
Button button = test.AddButton();
cell.Controls.Add(button);
}
}
private void userClickOnButton(object sender, EventArgs e)
{
this.ModalPopupExtenderSelectFilds.Show();
}
我的班级
public class Test
{
Action<object, EventArgs> m_ButtonClickActivateFunction;
public Test(Action<object, EventArgs> func)
{
m_ButtonClickActivateFunction = func;
}
public Button AddButton()
{
Button button = new Button();
button.Text = "select";
button.ID = "buttonID";
button.Click += new EventHandler(m_ButtonClickActivateFunction);
return button;
}
需要帮助来激活事件而不取出 IsPostBack 条件
谢谢
【问题讨论】:
-
没有回发服务器怎么知道呢?但是,您可以在 Ajax 的帮助下以一种看起来无需回发的方式进行操作
-
我只能给你看asp.net/ajax。你是必须经历它的人。
-
删除Page_Load中的if(!IsPostBack)
标签: c# asp.net event-handling ispostback