注册 登录
编程论坛 ASP.NET技术论坛

如何在*.aspx.cs中根据 confirm 函数返回值进行判断??

foshan 发布于 2007-03-14 10:50, 4030 次点击
如何在*.aspx.cs中根据 confirm 函数返回值进行判断??
以下的写法有误,怎么写代码啊?谢谢!

if(Response.Write("<script>confirm('确要上传" + DropDownList1.Text + '年' + DropDownList2.Text + '月' + FileUpload1.FileName + "?')</script>"))
{
……
}

[此贴子已经被作者于2007-3-14 10:51:04编辑过]

24 回复
#2
cyyu_ryh2007-03-14 12:43
if(!ISPostBock)
{
Button1.Attributes.Add("onclick", "javascript:return confirm('确要上传" + DropDownList1.Text + '年' + DropDownList2.Text + '月' + FileUpload1.FileName + "?');");
}

这是以弹出框形式的对话框
对了Button1是你上传点击的Button

[此贴子已经被作者于2007-3-14 12:44:48编辑过]

#3
foshan2007-03-14 12:47

主要是想知道如果在弹出的窗口中选择了“确定”才执行条件语句,选择“取消”就退出执行程序,这个条件语句应如何表达??有*.aspx.cs中用代码如何来判断在弹出的窗口中选择了“确定”还是选择“取消”????

[此贴子已经被作者于2007-3-14 12:51:29编辑过]

#4
cyyu_ryh2007-03-14 12:51

这个就可以啊

#5
foshan2007-03-14 16:49

不行啊,大哥!
如果用 if(!ISPostBock) 就根本不弹出对话框;如果用 if(ISPostBock)的话,第一次单击按钮不弹出对话框,第一次之后再单击按钮才弹出对话框。怎么解决啊?谢谢!

protected void Button1_Click1(object sender, EventArgs e)
{
//Response.Write("<script>confirm('确要上传" + DropDownList1.Text + '年' + DropDownList2.Text + '月' + FileUpload1.FileName + "?')</script>");
if (!IsPostBack)
{
Button1.Attributes.Add("onclick", "javascript:return confirm('确要上传" + DropDownList1.Text + '年' + DropDownList2.Text + '月' + FileUpload1.FileName + "?');");

Boolean fileOK = false;
String path = Server.MapPath("~/files/") + DropDownList1.Text + "年/" + RadioButtonList1.Text.ToString() + "/";
if (FileUpload1.HasFile)
{
String fileExtension =
System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
String[] allowedExtensions =
{ ".xls", ".doc" }; //过滤Word和Excel文件
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension == allowedExtensions[i])
{
fileOK = true;
}
}
}

if (fileOK)
{
try
{
FileUpload1.PostedFile.SaveAs(path
+ FileUpload1.FileName);
Response.Write("<script>alert('文件上传成功!')</script>");
//Response.Write("<script>alert('" + FileUpload1.FileName + "')</script>");
}
catch (Exception ex)
{
Response.Write("<script>alert('文件上传失败!')</script>");
//Response.Write("<script>alert('" + FileUpload1.FileName + "')</script>");
}
}
else
{
Response.Write("<script>alert('不能上传这种类型的文件!')</script>");
}
SqlConnection conn2 = new SqlConnection("data source=(local);database=aaa;user=****; password=********"); //创建连接对象
SqlDataAdapter da2 = new SqlDataAdapter();
//适配器对象的查询命令
SqlCommand cmdSel = new SqlCommand("select * from mybaobiao", conn2); //创建DataAdapter(数据适配器)
da2.SelectCommand = cmdSel;
//适配器对象的更新命令
SqlCommand cmdUpdate = new SqlCommand("update mybaobiao set NIAN = @NIAN,YU=@YU,YUFENG=@YUFENG,YDBBURL=@YDBBURL,SCHBURL=@SCHBURL,GDJCTZ=@GDJCTZ,GDJCTB=@GDJCTB where ID = @ID", conn2);
SqlParameter paramID = new SqlParameter("@ID", SqlDbType.Int);
paramID.SourceColumn = "ID"; //数据值对应的字段
paramID.SourceVersion = DataRowVersion.Original; //数据值将使用初始版本的数值
cmdUpdate.Parameters.Add(paramID);
cmdUpdate.Parameters.Add("@NIAN", SqlDbType.Char, 10, "NIAN");
cmdUpdate.Parameters.Add("@YU", SqlDbType.VarChar, 50, "YU");
cmdUpdate.Parameters.Add("@YUFENG", SqlDbType.VarChar, 50, "YUFENG");
cmdUpdate.Parameters.Add("@YDBBURL", SqlDbType.VarChar, 200, "YDBBURL");
cmdUpdate.Parameters.Add("@SCHBURL", SqlDbType.VarChar, 200, "SCHBURL");
cmdUpdate.Parameters.Add("@GDJCTZ", SqlDbType.VarChar, 200, "GDJCTZ");
cmdUpdate.Parameters.Add("@GDJCTB", SqlDbType.VarChar, 200, "GDJCTB");
da2.UpdateCommand = cmdUpdate; //
//适配器对象的添加命令
SqlCommand cmdInsert = new SqlCommand("insert into mybaobiao(NIAN,YU,YUFENG,YDBBURL,SCHBURL,GDJCTZ,GDJCTB) values (@NIAN,@YU,@YUFENG,@YDBBURL,@SCHBURL,@GDJCTZ,@GDJCTB)", conn2);
cmdInsert.Parameters.Add("@ID", SqlDbType.Int, 4, "ID");
cmdUpdate.Parameters.Add("@NIAN", SqlDbType.Char, 10, "NIAN");
cmdUpdate.Parameters.Add("@YU", SqlDbType.VarChar, 50, "YU");
cmdUpdate.Parameters.Add("@YUFENG", SqlDbType.VarChar, 50, "YUFENG");
cmdUpdate.Parameters.Add("@YDBBURL", SqlDbType.VarChar, 200, "YDBBURL");
cmdUpdate.Parameters.Add("@SCHBURL", SqlDbType.VarChar, 200, "SCHBURL");
cmdUpdate.Parameters.Add("@GDJCTZ", SqlDbType.VarChar, 200, "GDJCTZ");
cmdUpdate.Parameters.Add("@GDJCTB", SqlDbType.VarChar, 200, "GDJCTB");
da2.InsertCommand = cmdInsert;
//适配器对象的删除命令
SqlCommand cmdDel = new SqlCommand("delete * from mybaobiao where ID=@ID", conn2);
SqlParameter paramDelID = new SqlParameter("@ID", SqlDbType.Int);
paramDelID.SourceColumn = "ID";
paramDelID.SourceVersion = DataRowVersion.Original;
cmdDel.Parameters.Add(paramDelID);
da2.DeleteCommand = cmdDel;

DataSet ds2 = new DataSet(); //创建DataSet(数据集)
da2.Fill(ds2, "mybaobiao"); //使用数据适配器填充数据集


GridView1.DataSource = ds2; //显示,绑定
//GridView1.DataMember = "mybaobiao";
GridView1.DataBind();

//添加数据
DataRow addrow = ds2.Tables[0].NewRow();
addrow[1] = DropDownList1.Text;
addrow[2] = DropDownList2.Text;
addrow[3] = DropDownList1.Text + "年" + DropDownList2.Text + "月";
addrow[4] = "files/" + DropDownList1.Text + "年/" + RadioButtonList1.Text.ToString() + "/" + FileUpload1.FileName;
ds2.Tables[0].Rows.Add(addrow);
GridView1.DataSource = ds2.Tables["mybaobiao"]; //显示,绑定
GridView1.DataBind();
//da2.Update(ds2, "mybaobiao");

////修改数据
//DataRow editrow = ds2.Tables["mybaobiao"].Rows[5];
////editrow.BeginEdit();
//editrow["RegionDescription"] = "北京6北京6北京6";
////editrow.EndEdit();
//GridView1.DataSource = ds2.Tables["mybaobiao"]; //显示,绑定
//GridView1.DataBind();
////da2.Update(ds2, "mybaobiao");

////删除数据
//DataRow editrow1 = ds2.Tables["mybaobiao"].Rows[3];
//editrow1.Delete();
//GridView1.DataSource = ds2; //显示,绑定
//GridView1.DataBind();
////da2.Update(ds2,"Region")

}
}

#6
cyyu_ryh2007-03-14 17:47

不可能哦
每次点击BUTTION后都会弹出啊,你是第一次没出,其它都出了?

#7
cyyu_ryh2007-03-14 17:49

看到了
if (!IsPostBack)
{
Button1.Attributes.Add("onclick", "javascript:return confirm('确要上传" + DropDownList1.Text + '年' + DropDownList2.Text + '月' + FileUpload1.FileName + "?');");
}

写在page_load里面
#8
foshan2007-03-14 18:09
写在page_load里面还是不行,当二次点击按钮时,出现的对话框的内容还是以前(这时再要上传的文件的文件名与不同了)。怎么办?谢谢!
#9
小恶魔2007-03-14 20:19

逻辑思维问题,多思考一下,可以解决的!

#10
球球2007-03-15 18:16
逻辑是对的,asp.net就是这样运行的.点button之前和之后是不一样的........
用脚本就可以解决这个问题如:
this.Button1.Attributes.Add("onclick","return confirm('是否删除?'+Form1.TextBox1.value)");
#11
球球2007-03-15 18:19
以下是引用球球在2007-3-15 18:16:05的发言:
逻辑是对的,asp.net就是这样运行的.点button之前和之后是不一样的........
用脚本就可以解决这个问题如:
this.Button1.Attributes.Add("onclick","return confirm('是否删除?'+Form1.TextBox1.value)");

放在Page_Load里,不用IsPostBack.


return confirm('是否删除?'///////这个是字符串,那么Form1.TextBox1.value这个就是脚本了

[此贴子已经被作者于2007-3-15 18:20:53编辑过]

#12
爱编程的小猪2007-03-15 23:08
在BUTTON里放了所有的代码...还有存储过程...怎么不写在类里?
#13
foshan2007-03-19 09:41
以下是引用球球在2007-3-15 18:16:05的发言:
逻辑是对的,asp.net就是这样运行的.点button之前和之后是不一样的........
用脚本就可以解决这个问题如:
this.Button1.Attributes.Add("onclick","return confirm('是否删除?'+Form1.TextBox1.value)");

试过,还是不尽人意。每次点击按钮,显示询问窗口中的Form1.TextBox1.value只是上次输入的文字,并不是显示页面TextBox1控件当前的数值。如何解决这个问题啊?

#14
冰镇柠檬汁儿2007-03-19 10:24
Button1.Attributes.Add("onclick","return confirm('是否删除?'+Form1.TextBox1.value)");
把这个放到按钮的onclick事件里面试试
#15
foshan2007-03-19 10:34
试了,但当出现询问框后选取“取消”,不会退出程序,依然会继续执行下面的代码。
#16
冰镇柠檬汁儿2007-03-19 10:51
那放到page_load里,IsPostBack外面是什么效果呢
#17
summoner2007-03-19 11:45
给按钮加属性就是这样的,会推迟一次,所以对于哪些需要验证动态数据的,就不能用这种方法
#18
foshan2007-03-19 11:53
以下是引用summoner在2007-3-19 11:45:59的发言:
给按钮加属性就是这样的,会推迟一次,所以对于哪些需要验证动态数据的,就不能用这种方法

斑竹 有何妙法解决这个问题???

#19
foshan2007-03-19 11:54
以下是引用冰镇柠檬汁儿在2007-3-19 10:51:19的发言:
那放到page_load里,IsPostBack外面是什么效果呢

效果就是推迟一次显示 三个控件的值……

#20
cyyu_ryh2007-03-19 13:16
以下是引用foshan在2007-3-14 18:09:26的发言:
写在page_load里面还是不行,当二次点击按钮时,出现的对话框的内容还是以前(这时再要上传的文件的文件名与不同了)。怎么办?谢谢!

我说那个方法我用了N遍了,不能不行哦
当二次点击按钮时

也就是说第一次可以了?
第二次时,是取不到文件名吗?

#21
summoner2007-03-19 14:06
以下是引用cyyu_ryh在2007-3-19 13:16:28的发言:

我说那个方法我用了N遍了,不能不行哦
当二次点击按钮时

也就是说第一次可以了?
第二次时,是取不到文件名吗?

他的意思是说第二次时不是取的第二次的值而是第一次的值

#22
foshan2007-03-19 15:13
以下是引用summoner在2007-3-19 14:06:37的发言:

他的意思是说第二次时不是取的第二次的值而是第一次的值

斑竹 正解,但应如何解决这个问题呢??

#23
bygg2007-03-19 16:00
将选择的值放入变量中...取值时取变量..
#24
wanmum2007-08-07 19:12
回复:(foshan)试了,但当出现询问框后选取“取消”...

关键是要将Button1.Attributes.Add("onclick", "javascript:return confirm('确要上传" + DropDownList1.Text + '年' + DropDownList2.Text + '月' + FileUpload1.FileName + "?');");这段代码放在page_load里,不要将其添加到if(!this.ispost_back){}里。

然后将上述控件的AutoPostBack属性设置为true即可。不过这样每次对控件进行操作,服务器端都会相应一次,增加了服务器的负担,所以,建议尽量不要采用将控件的AutoPostBack属性设置为true的这种方法,万不得已的情况下才用到它。

[此贴子已经被作者于2007-8-7 19:13:10编辑过]

#25
川流不息2007-08-08 01:07
Button1.Attributes.Add("onclick", "javascript:return confirm('确要上传" + DropDownList1.Text + '年' + DropDownList2.Text + '月' + FileUpload1.FileName + "?');");
 

把这个,你放到Page_Load事件中
但是,要放到IsPostBack外面。可以每次刷新提交后也会注册事件。
1