LinkBut​​ton_Click事件未触发

时间:2013-08-07 06:09:24

标签: c# asp.net

我创建了一个动态链接按钮。我想在触发click事件时导航到其他页面。但现在,当我点击链接按钮时,整个页面将被清除,并且不会触发任何点击事件。

 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");
 }

请帮忙。

2 个答案:

答案 0 :(得分:1)

创建动态控件时,无法直接创建该控件的click事件。在你的情况下,你必须遵循这种方式。添加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>

试试这个。希望它适合你。

答案 1 :(得分: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");
 }