LinkButton_Click事件未触发

4
我创建了一个动态链接按钮。当单击事件被触发时,我想要导航到其他页面。但是现在,当我点击链接按钮时,整个页面都被清空,并且没有触发任何单击事件。
 System.Web.UI.WebControls.LinkButton lbView = new System.Web.UI.WebControls.LinkButton();
 lbView.Text = "<br />" + "View";
 lbView.Click += new System.EventHandler(lbView_Click);

 tc.Controls.Add(lbView);
 tr.Cells.Add(tc);

 protected void lbView_Click(object sender, EventArgs e)
 {
     Response.Redirect("contactus.aspx");
 }

请帮忙。


删除链接按钮并添加新的链接按钮。 - Harsh
@Harsh:你能告诉我为什么吗? - Tannya
你在哪里创建LinkButton?在Page_Load中吗?tc和tr是什么? - Microsoft DN
你在页面加载事件中做了什么? - Damith
我认为你应该将代码包装在Page_Load事件的(!IsPostBack){...}内。 - Pranav
@MicrosoftDN:在创建了一些动态控件并根据用户选择从数据库中获取数据后,我正在创建链接按钮。 - Tannya
2个回答

1
当您创建动态控件时,不能直接创建该控件的单击事件。在您的情况下,您必须遵循这种方式。添加javascript以重定向到contactus.aspx页面。
System.Web.UI.WebControls.LinkButton lbView = new System.Web.UI.WebControls.LinkButton();
lbView.Text = "<br />" + "View";
btn.OnClientClick = "return RedirectTo();";  // You need to add javascript event

tc.Controls.Add(lbView);
tr.Cells.Add(tc);


// javascript
<script>
  function RedirectTo()
  {
     window.location.href = 'contactus.aspx';
     return false;
  }
</script>

尝试这个。希望对你有用。

0
将您的代码放在这样的位置并尝试:-
if(!IsPostBack){
 System.Web.UI.WebControls.LinkButton lbView = new System.Web.UI.WebControls.LinkButton();
 lbView.Text = "<br />" + "View";
 lbView.Click += new System.EventHandler(lbView_Click);

 tc.Controls.Add(lbView);
 tr.Cells.Add(tc);
}

 protected void lbView_Click(object sender, EventArgs e)
 {
     Response.Redirect("contactus.aspx");
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接