0

私はgirdviewを使用しています。削除するには、各行で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れるので、クリックしても何も起こらないと思います。右?OnClickfalse

しかし

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、レコードが削除されています。

問題を見つけるのを手伝ってください。VistaHomePremiumと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を追加しようとしている実際のリンクが「セル12コントロール0」ではない可能性はありますか?

出力を表示する必要があります。そうすれば、何が問題なのかを把握できます。

于 2009-11-11T14:46:21.053 に答える
0

これはあなたが望む答えのように聞こえないかもしれませんが、コントロールが削除を許可してはならないことがわかっている場合は、単にそれを非表示にする、つまりコントロールを非表示にしないでください。

結局、これはあなたがやろうとしていることを達成するでしょう。

于 2009-11-11T14:54:57.530 に答える