2011-09-08 87 views
0

我有gridview,它有一列數據和一個按鈕,在「應用」下面執行一些操作。如果沒有選中gridview複選框,不要顯示確認消息框

Gridview中的一列是複選框列。當你選中複選框並點擊應用時,彈出一個確認消息,詢問「你確定嗎?」可選擇「是」和「否」。

但是,如果沒有選中複選框,我想顯示一個彈出窗口給用戶選擇一個複選框,然後執行一個操作並不顯示確認消息彈出窗口。

我現在擁有的是如果沒有選擇複選框,確認消息會首先彈出,如果我按「是」,則會彈出一條提示消息以選擇至少一個複選框。如果我按取消不彈出顯示。

這裏是我的代碼:

protected void Page_Load(object sender, EventArgs e) 
    { 
if (!IsPostBack) 
     { 
ApplyAction_Button.Attributes.Add("onclick", "return confirm('Are you sure?');"); 
     } 
    } 


protected void ApplyAction_Button_Click(object sender, EventArgs e) 
    { 
    // Gets the selected checkboxes in the gridview 
    ArrayList selectedMachines = new ArrayList(); 
    GetSelectedMachineIds(selectedMachines); 

      if (selectedMachines.Count == 0) 
      { 
       Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('Please select a machine for the action to be applied');</script>"); 

       return; 
      } 
    // Action to be applied 
    } 

我試圖避免使用回發的。

另一個問題:

asp.net中是否存在服務器端確認消息框?

任何幫助將不勝感激。謝謝

+1

嘗試看看這些線程 http://stackoverflow.com/questions/1839558/checkbox-in-gridview http://stackoverflow.com/questions/7339767/確定-A-其中-複選框-IS-簽上-A-數據網格和 - 更新-DB/7340174#7340174 問候 –

+0

好的!!第一個鏈接可能只是幫助我的複選框問題 – user175084

回答

1

您可以將您的按鈕設置爲可見,一旦複選框被選中,您可以顯示按鈕。 另一種方法是使用JavaScript來檢查,如果複選框被選中

代碼背後

ApplyAction_Button.Attributes.Add("onclick", "ShowConfirm();"); 

的JavaScript

function ShowConfirm() 
{ 
    //check if checkbox is checked if is checked then display confirm message else display alert message 
if("assumed checkbox is checked"){ 
return confirm("message here"); 
} 
else{ 
alert("message here"); 
} 
} 
+0

是的,這可能會工作..但我需要知道如何檢查GridView中檢查任何複選框的JavaScript代碼。我有的代碼是一個服務器端代碼,將不會與上述Java腳本 – user175084

相關問題