2012-03-14 9 views
1

私はgridviewでチェックボックスコントロールを使用しています。私はcheckboxchangedイベントの前に確認を表示します。asp.netでchekboxchangedの前に確認を使用する方法?

の確認ボックスには、何もしない、それをポストバック質問をしていないが...

(私の英語について申し訳ありません)

// CS

 TemplateField field = new TemplateField(){ 
      HeaderText = "AKTIF", 
      ItemTemplate = new AddTemplateToGridView("AKTIF") 
     }; 
     field.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; 
     field.ItemStyle.HorizontalAlign = HorizontalAlign.Center; 
     field.ItemStyle.Width = Unit.Pixel(40); 
     newXGrid.Columns.Add(field); 

// ITEMPLATE

 public class AddTemplateToGridView : ITemplate 
     { 
      String columnName; 

      public AddTemplateToGridView(String colname) 
      { 
       columnName = colname; 
      } 

      void ITemplate.InstantiateIn(System.Web.UI.Control container) 
      { 
       if (columnName == "AKTIF") 
       { 
        CheckBox chk = new CheckBox() { ID="chkAktif", AutoPostBack=true }; 
        chk.Attributes.Add("onclick","return confirm('Are you sure ?')"); 
        chk.CheckedChanged += new EventHandler(l_CheckedChanged); 
        container.Controls.Add(chk); 
       } 
      } 


      void l_CheckedChanged(object sender, EventArgs e) 
      { 
       ... 
      } 



     } 

// Myチェックボックスページの

<input id="ctl00_MainContent_ctl11_ctl02_chkAktif" type="checkbox" name="ctl00$MainContent$ctl11$ctl02$chkAktif" onclick="return confirm('Are you sure ?');setTimeout('__doPostBack(\'ctl00$MainContent$ctl11$ctl02$chkAktif\',\'\')', 0)"> 

答えて

6

変更:

はこれを試してみてください。

+0

thx脳が働く... – Mennan

+0

ブリリアント。ありがとう。 – Brissles

1

確認ダイアログのreturnを使用して、setTimeout()を実行するJavaScriptを禁止しています。クリックでポストバックをトリガーするためのチェックボックスのための

chk.Attributes.Add("onclick","if (!confirm('Are you sure ?')) return false;"); 

セットAutoPostBack="true":これまで

chk.Attributes.Add("onclick","return confirm('Are you sure ?')"); 

:この

if(confirm('Are you sure?')) 
    setTimeout('__doPostBack(\'ctl00$MainContent$ctl11$ctl02$chkAktif\',\'\')', 0); 
else 
    return false; 
関連する問題