gpt4 book ai didi

c# - 事件处理程序没有被调用

转载 作者:行者123 更新时间:2023-12-03 03:03:42 30 4
gpt4 key购买 nike

在下面的代码中,asp 不进入操作监听器 (Button1_Click)。有人可以帮忙吗?

protected void Project_Click(object sender, EventArgs e)
{
Courses.ActiveViewIndex = 0;

String ConnStr = ConfigurationManager.ConnectionStrings["MyRuMoR"].ToString();
SqlConnection conn = new SqlConnection(ConnStr);
conn.Open();
SqlCommand cmd = new SqlCommand("ViewProjects", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@course_code", "PHYS305");

SqlDataReader rdr = cmd.ExecuteReader();

int c = 1;

while (rdr.Read())
{
String name = rdr.GetString(rdr.GetOrdinal("name"));
int p_id = rdr.GetInt32(rdr.GetOrdinal("p_id"));

LinkButton lb = new LinkButton();
lb.ID = p_id.ToString();

lb.Text = "Project " + c + " is: " + name;
form1.Controls.Add(lb);

lb.Click += new EventHandler(this.Button1_Click);

c++;
}
conn.Close();
}

protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("Hello");
}

最佳答案

您需要阅读 ASP.NET page lifecycle .

当涉及动态控件时,您需要在回发时重新创建它们,否则它们将不存在并且附加的事件处理程序将不会触发。

动态控制最好在 PreInit 上创建页面的事件。

如上所述here :

protected virtual void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
//your code
}

关于c# - 事件处理程序没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629562/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com