对话框确定取消
我要做一个一段删除程序,在点按扭后出现对话框,确定则删除,取消则不删除,但是我现在怎么按它都是删除了,怎么回事呢程序
void Page_Load(Object sender, EventArgs e)
{
button2.Attributes.Add("onclick", "javascript:return window.confirm('确认删除吗?')");
}
protected void button2_click(object sender, EventArgs e)
{
OleDbConnection ConUpdateuser = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=D:\\电力\\project.mdb"); ;
OleDbCommand CmdUpdateuser;
string strUpdateuser = "Delete * from UserInfor where username=@username";
CmdUpdateuser = new OleDbCommand(strUpdateuser, ConUpdateuser);
CmdUpdateuser.Parameters.Add("@username", droplist .Text);
ConUpdateuser.Open();
CmdUpdateuser.ExecuteNonQuery();
ConUpdateuser.Close();
Response.Redirect(System.Web.HttpContext.Current.Request.Url.ToString());
}
<asp:Button ID ="button2" OnClick ="button2_click" runat ="server" Text ="删除" /> --------------------编程问答-------------------- protected void Page_Load(object sender, EventArgs e)
{
BT_Delete.Attributes.Add( "OnClick ", "Confirm() ");
}
这是个小例子CS代码:
protected void BT_Delete_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "false ")
{
Response.Write( "你选择的是否! ");
return;
}
Response.Write( "你选择的是继续执行! ");
}
HTML代码:
<html xmlns= "http://www.w3.org/1999/xhtml " >
<head runat= "server ">
<title> 无标题页 </title>
<script language= "javascript " type= "text/javascript ">
function Confirm()
{
var bool = window.confirm( "是否继续删除? ");
if(bool)
window.document.getElementById( "TextBox1 ").value = "true ";
else
window.document.getElementById( "TextBox1 ").value = "false ";
}
</script>
</head>
<body>
<form id= "form1 " runat= "server ">
<div>
<asp:Button ID= "BT_Delete " runat= "server " OnClick= "BT_Delete_Click " Text= "删除 "
Width= "82px " />
<asp:TextBox ID= "TextBox1 " runat= "server " Text= " " />
</div>
</form>
</body>
</html>
你的问题用上面的例子销改一下思路,就可以解决! --------------------编程问答--------------------
--------------------编程问答-------------------- javascript:return window.confirm('确认删除吗?')
BT_Delete.Attributes.Add( "OnClick ", "return Confirm() ");
===========
从代码中看不出任何问题
当点取消时,返回false,那么form也不会被提交,服务器事件也就不可能被响应
是否在其它地方对button的onclick也添加了js代码,导致返回值一直是真呢? --------------------编程问答-------------------- js语法是这样的:
--------------------编程问答-------------------- 你这段代码只是给button加上了是否删除的js对话框,button2.Attributes.Add("onclick", "javascript:return window.confirm('确认删除吗?')"); 但客户端并没有把用户选择是或者否的结果返回到服务器段。服务器段肯定是直接删除。
if(confirm('确定删除吗?')){location='index.asp?ItemID='+document.itemform.temp.value+'&flag=Del';}
如果你不想用ajax传递用户选择的结果。就使用如下方法
<script type="text/javascript">
function OnClickDelete()
{
var result = window.confirm('确定删除吗?');
document.getElementById('TextBox1').value = result;
}
</script>
<asp:Button ID ="button2" OnClientClick="OnClickDelete()" runat ="server" Text ="删除" OnClick="button2_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
protected void button2_Click(object sender, EventArgs e)
{
if (bool.Parse(TextBox1.Text))
{
//用户选择是
string a = "";
}
else
{
//用户选择否
}
} --------------------编程问答-------------------- 楼上说的是啊,我觉得代码没什么问题,我如果直接运行这个页面就没有问题,但是我这个页面是我一个框架中的一个页面,我把这个页面放到这个架构中就出现怎么都删除的问题了,是什么设置的原因吗??? --------------------编程问答--------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
cmdDelete.Attributes.Add("onclick", "return confirm('你真的要删除吗!!!')");
}
}
protected void cmdDelete_Click(object sender, EventArgs e)
{
cmdDelete.Attributes.Add("onclick", "return confirm('你真的要删除吗!!!')");
按确定后是你要执行的....
} --------------------编程问答--------------------
--------------------编程问答-------------------- 前台有没有其他的JS验证? --------------------编程问答-------------------- 没有了啊
btn1.Attributes.Add("onclick","return confirm('xxxxxxxxxx?')");
好奇怪啊,我这个页面就只一个简单的用户管理功能,整个页面就这些程序
void Page_Load(Object sender, EventArgs e)
{ if(!IsPostBack)
{
OleDbConnection condatabase;
OleDbCommand cmdSelectdatabase;
OleDbDataReader dtrdatabase;
string strSelect;
// Retrieve records from database
condatabase = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=D:\\朝阳电力\\project.mdb");
condatabase.Open();
cmdSelectdatabase = new OleDbCommand("Select * from UserInfor ", condatabase);
dtrdatabase = cmdSelectdatabase.ExecuteReader();
// Bind to dropdownlist
droplist.DataSource = dtrdatabase;
droplist.DataTextField = "username";
droplist.DataBind();
dtrdatabase.Close();
condatabase.Close();
}
button2.Attributes.Add("onclick", "return confirm('确定删除?')");
}
void button1_click(Object sender, EventArgs e)
{
int quanxian = 0;
if (droplist1.Text == "最高管理者") quanxian =3;
if (droplist1.Text == "高级管理者") quanxian = 2;
if (droplist1.Text == "二级管理者") quanxian = 1;
if (droplist1.Text == "一般用户") quanxian = 0;
OleDbConnection ConUpdateuser = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=D:\\朝阳电力\\project.mdb");;
OleDbCommand CmdUpdateuser;
string strUpdateuser="Update UserInfor set quanxian=@quanxian where username=@username";
CmdUpdateuser = new OleDbCommand(strUpdateuser, ConUpdateuser);
CmdUpdateuser.Parameters.Add("@quanxian",quanxian);
CmdUpdateuser.Parameters.Add("@username", droplist.Text);
ConUpdateuser.Open();
CmdUpdateuser.ExecuteNonQuery();
ConUpdateuser.Close();
// Response.Write("修改成功");
Response.Write("<script>alert('修改成功!')</"+"script>");
}
protected void button2_click(object sender, EventArgs e)
{
OleDbConnection ConUpdateuser = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=D:\\朝阳电力\\project.mdb"); ;
OleDbCommand CmdUpdateuser;
string strUpdateuser = "Delete * from UserInfor where username=@username";
CmdUpdateuser = new OleDbCommand(strUpdateuser, ConUpdateuser);
CmdUpdateuser.Parameters.Add("@username", droplist.Text);
ConUpdateuser.Open();
CmdUpdateuser.ExecuteNonQuery();
ConUpdateuser.Close();
Response.Redirect(System.Web.HttpContext.Current.Request.Url.ToString());
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="table1" align="center" >
<tr><td colspan ="2" height="200"></td></tr>
<tr><td align ="center" >姓名</td><td><asp:DropDownList ID ="droplist" runat ="server" ></asp:DropDownList></td></tr>
<tr><td>用户类型</td><td><asp:DropDownList ID ="droplist1" runat ="server" >
<asp:ListItem >最高管理者</asp:ListItem>
<asp:ListItem >高级管理者</asp:ListItem>
<asp:ListItem >二级管理者</asp:ListItem>
<asp:ListItem >一般用户</asp:ListItem></asp:DropDownList></td></tr>
<tr><td></td><td><asp:Button ID ="button1" OnClick ="button1_click" runat ="server" Text ="修改" /><asp:Button ID ="button2" OnClick ="button2_click" runat ="server" Text ="删除" /></td></tr>
</table>
</div>
</form>
</body>
</html>
我单独运行没有错误,但是我这个页面是一个大网站中的一个页面,放到网站中通过菜单打开这个页面就不可以了,不管按确定还是取消都会删除用户,不知道为什么
--------------------编程问答-------------------- 建议你设断点仔细跟踪检查一下,不行也可以试试笨办法。
button2.Attributes.Add("onclick", "onClientClick()");
JS:
function onClientClick()
{
document.getElementById("Hidden1").value = confirm("确定删除?");
}
不要return,写一个JS方法,在页面上加一个Hidden的控件Hidden1,记录下confirm返回的值,确定为True,取消为false.
然后在protected void button2_click(object sender, EventArgs e) 的事件中,首先取出Hidden的值,判断
if(Hidden1.Value.Equals("false"))
return;
else
{
删除数据......
}
补充:.NET技术 , ASP.NET