0

我使用网格视图。对于删除,我在每一行中使用 LinkBut​​ton。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        ((LinkButton)e.Row.Cells[12].Controls[0]).Attributes.Add("onClick", 
            "return false;"
        );
    }
}

现在,我希望当我Link Button被点击时不会发生任何事情,因为OnClick返回false。正确的?

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if(e.CommandName=="SIL")
     {
         String _id = GridView1.DataKeys[Int32.Parse(e.CommandArgument.ToString())].Values["id"].ToString();

         dsodeme_onkayitTableAdapters.odeme_onkayitTableAdapter _todeme = new dsodeme_onkayitTableAdapters.odeme_onkayitTableAdapter();
         _todeme.DeleteQueryID(_id);

         Response.Redirect("musteri_onkayit_odeme_al.aspx?username=" + lbUserName.Text);
     }
}

正在被调用。RowCommand正在运行并删除记录。

请帮我找出问题所在。我使用 Vista Home Premium 和 IE8。那是问题吗?

4

4 回答 4

1

代替:

((LinkButton)e.Row.Cells[12].Controls[0]).Attributes.Add("onClick", 
            "return false;"
        );

尝试:

((LinkButton)e.Row.Cells[12].Controls[0]).OnClientClick = "return false;";
于 2009-11-11T16:19:27.993 回答
1

好的,我这样修复它;

attribute.add("onClick","if(!confirm('Are you sure?')) event.returnValue=false;");

其作品。谢谢。

于 2009-11-18T08:22:54.087 回答
0

我认为 Jan 一定在做某事,您尝试添加 onClick 的实际链接是否可能不是 'cell 12 control 0' ?

您应该显示输出,我们将能够找出问题所在。

于 2009-11-11T14:46:21.053 回答
0

我知道这听起来可能不像您想要的答案,但如果您知道控件不应该允许删除,为什么不让它不可见,即隐藏控件。

最后,这将实现您正在尝试做的事情。

于 2009-11-11T14:54:57.530 回答