質問

ガードビューを使っています。削除には各行の 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を使用しています。それが問題ですか?

役に立ちましたか?

解決 2

わかりました、次のように修正します。

attribute.add ("onClick","if(!confirm('よろしいですか?'))event.returnValue=false;");

それは作品です。ありがとう。

他のヒント

の代わりに:

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

試す:

((LinkButton)e.Row.Cells[12].Controls[0]).OnClientClick = "return false;";

Jan は何かをしているに違いないと思いますが、onClick を追加しようとしている実際のリンクが「セル 12 コントロール 0」ではない可能性はありますか?

出力を見せていただければ、何が問題なのかがわかるでしょう。

これはあなたが望んでいる答えのように聞こえないかもしれませんが、コントロールで削除を許可すべきではないことがわかっているのであれば、それを非表示にするだけではどうでしょうか。コントロールを非表示にします。

最終的には、これであなたがやろうとしていることが達成されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top