如何获取对话框问题
我要上传几个WORD,当某个文档已经存在的时候就弹出对话框,问是否覆盖,如果点确定则覆盖这个文档并继续上传后面的,否则跳过这个文档继续上传后面的文档。这个对话框值怎么获取呢?我通过一个TEXTBOX来写,想获取对话框的返回值,但怎么TEXTBOX1 都得不到返回值
我这么写的:
Response.Write("<script type='text/javascript'> var result=window.confirm('" + strFilename + "已经存在是否覆盖?'); document.getElementById('textbox1').text=result;</" + "script>");
是不是在 Response.Write()里, document.getElementById()用不了吗? --------------------编程问答-------------------- document.getElementById('textbox1').text改成document.getElementById('textbox1').value --------------------编程问答-------------------- 原因可能是:这段脚本执行的时候textbox1还没加载,所以获取对象无效。
放到onload事件中,或者写到html,body后面的位置执行如:
Response.Write("<script type='text/javascript'>document.onload=function(){var result=window.confirm('" + strFilename + "已经存在是否覆盖?'); document.getElementById('textbox1').text=result;}</" + "script>");--------------------编程问答-------------------- 是的,text也需要改成value属性。 --------------------编程问答-------------------- 一定要value吗?
<asp:TextBox Visible ="true" ID ="textbox1" runat ="Server" ></asp:TextBox>TEXTBOX里都没有VALUE 属性阿? --------------------编程问答--------------------
你还没有分清楚哪些代码在服务端执行,哪些代码在客户端(浏览器)执行
<asp:TextBox>是.NET解析 -- 服务器上
<input>是浏览器解析 -- 客户端上
两个不同的概念。 --------------------编程问答-------------------- 一定要value
TextBox转化成html就是 input type=text 其值是value --------------------编程问答-------------------- 谢谢各位 ,但是我改了后仍然返回值无法传给TEXTBX1,报错,textbox1.Value里面的值是空的
Response.Write("<script type='text/javascript'> var result=window.confirm('" + strFilename + "已经存在是否覆盖?'); document.getElementById('textbox1').Value=result;</" + "script>");
if (bool.Parse(textbox1.Value )) --------该字符串未被识别为有效的布尔值
{
AddPanelControls1(strFilename);
} --------------------编程问答--------------------
if (bool.Parse(textbox1.Text)) --------该字符串未被识别为有效的布尔值
{
AddPanelControls1(strFilename);
}
//这里要用Text,因为这是服务端,在客户端才是value --------------------编程问答-------------------- Value -> value大小写敏感
楼主你该学点javascript了,这东西做WEB开发逃不了的。 --------------------编程问答-------------------- 即使改为这样的,TEXTBOX依然没法得到值,还有别的原因吧,是不是在Response.Write()里还有什么不同
Response.Write("<script type='text/javascript'> var result=window.confirm('" + strFilename + "已经存在是否覆盖?'); document.getElementById('textbox1').value=result;</" + "script>");
if (bool.Parse(textbox1.Text ))
{
AddPanelControls1(strFilename);
}
<asp:TextBox ID ="textbox1" runat ="server"></asp:TextBox>
在运行时就不出现对话框了,直接出现以上错误了 --------------------编程问答-------------------- Response.Write("<script type='text/javascript'> var result=window.confirm('" + strFilename + "已经存在是否覆盖?'); document.getElementById('textbox1').value=result;</" + "script>");
写在哪里的? --------------------编程问答-------------------- 我水平差,呵呵,大家见谅啊,我把程序帖出来
if (!Redatabase.Read()) //////读数据库,看文档是否存在了,不存在上传,存在了就是我刚才那段,对话框,是否覆盖
{
string path = Server.MapPath(".") + "\\文档\\" + strurl + "\\" + strFilename;
string inputPath = "文档\\" + strurl + "\\" + strFilename;
hpf.SaveAs(path);
// hpf.SaveAs(Server.MapPath(".")+"\\"+strFilename);
//在Panel控件中显示上传过程
AddPanelControls(strFilename);
////////////////////////////////////// 把文件名存入detail数据库
OleDbConnection insert = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=E:\\文档管理系统\\database.mdb");
OleDbCommand cminsert;
string strinsert = "Insert into detail (name,parentid,link) values (@getName,@getparentid,@link)";
cminsert = new OleDbCommand(strinsert, insert);
cminsert.Parameters.Add("@getName", strFilename);
cminsert.Parameters.Add("@getparentid", getID);
cminsert.Parameters.Add("@link", inputPath);
insert.Open();
cminsert.ExecuteNonQuery();
insert.Close();
/////////////////////////////////////////
}
else
{
Response.Write("<script type='text/javascript'> var result=window.confirm('" + strFilename + "已经存在是否覆盖?'); document.getElementById('textbox1').value=result;</" + "script>");
if (bool.Parse(textbox1.Text ))
{
AddPanelControls1(strFilename);
}
}
Redatabase.Close();
condatabase.Close(); --------------------编程问答-------------------- --------------------编程问答-------------------- 你这样写是弹不出来的 --------------------编程问答-------------------- asp.net web不同于winform,可以随心所欲的弹对话框
confirm是客户端的 --------------------编程问答-------------------- confirm 是用于客户端脚本的,不可能对服务器端程序的流程产生影响。 --------------------编程问答-------------------- 那我应该怎么做才能满足我的需求呢? --------------------编程问答-------------------- 观望ing --------------------编程问答-------------------- text也需要改成value属性。 --------------------编程问答--------------------
换一个思路去做 --------------------编程问答-------------------- 在想,就想做成WINDOUWS一样,在复制的时候有重名的提示是否覆盖,不知大家有什么好思路没?
补充:.NET技术 , C#