如果未选中gridview复选框,则不显示确认消息框

时间:2011-09-08 20:37:38

标签: c# javascript asp.net gridview confirm

我有gridview,其中包含数据列和“Apply”下方的按钮以执行某些操作。

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中是否有服务器端确认消息框?

任何帮助将不胜感激。谢谢

2 个答案:

答案 0 :(得分:1)

您可以将按钮设置为false,一旦选中复选框,您就可以显示按钮。 另一种方法是使用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");
}
}

答案 1 :(得分:1)