我有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中是否有服务器端确认消息框?
任何帮助将不胜感激。谢谢
答案 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)