待解决在web下调用SaveFileDialog的问题
本帖最后由 jackcheng1021 于 2013-12-03 12:54:02 编辑 在一个页面中放一个TextBox 和一个Button,在Button的click事件中调用SaveFileDialog类,弹出另存为的对话框都一切正常,在点击保存后,TextBox却获取不到SaveFIleDialog的FileName,求教这个怎么解决。下面附上代码,小弟才开始学,菜鸟一个,跪求解决方法,谢谢大家了。
protected void Button1_Click(object sender, EventArgs e)
{
try
{
Thread t = new Thread(SaveFile);
t.IsBackground = false;
t.SetApartmentState(ApartmentState.STA);//设置线程是
t.Start();
}
catch (Exception ex)
{
Response.Write("<script language='javascript' type='text/javascript'>alert('" + ex.Message + "');</script");
}
}
//执行 另存为 获取保存的文件完整路径。
private void SaveFile()
{
try
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = "备份文件(*.bak)|*.bak";
if (saveFile.ShowDialog() == DialogResult.OK)
{
this.TextBox1.Text = saveFile.FileName;
}
}
catch (Exception ex)
{
throw ex;
}
}
[解决办法]
SaveFileDialog
===================
太久没接触WindowsForm和asp.net服务器控件了。印象中这个组件是WindowsForm的东西。。。。Web有?
如果没有的话。那楼主简直就是瞎套了。。Web的东西你能用WindowsForm的东西吗?
两个组件的实现机制是不一样的,一个是由操作系统的底层进行支持,另外一个是靠浏览器去支持。那就是狗屁不通。
弹出Web保存,你应该是“告知客户端的浏览器进行识别当前输出的httphead是属于哪类型,是应该下载呢还是解析成网页等等。建议你去查询下”asp.net 下载”关键词
[解决办法]
那是因为你在初学时,没有搞明白什么叫做web服务器。你仅仅在你的单机上去“测试”,而还没有想过要真正分布测试。
如果你的asp.net程序仅仅在你的服务器上访问,你捣乱使用aspnet干什么呢?直接使用你的winform吧。
如果你的asp.net已经放在web服务器上,你又怎么让winform运行在千里之外的浏览器端?
[解决办法]
等你弄懂了什么叫web,你就会对你的问题感到无比羞愧。