TextBox却获取不到SaveFIleDialog的FileName
在一个页面中放一个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;
}
} 太久没接触WindowsForm和asp.net服务器控件了。印象中这个组件是WindowsForm的东西。。。。Web有?
如果没有的话。那楼主简直就是瞎套了。。Web的东西你能用WindowsForm的东西吗?
两个组件的实现机制是不一样的,一个是由操作系统的底层进行支持,另外一个是靠浏览器去支持。那就是狗屁不通。
弹出Web保存,你应该是“告知客户端的浏览器进行识别当前输出的httphead是属于哪类型,是应该下载呢还是解析成网页等等。建议你去查询下”asp.net 下载”关键词
这么说我想在服务端创建一个SQl备份 *.bak文件,生成备份的后台方法之前就已经写好,那是winform下的。我想在web下也可以调用吧。在服务端怎么写?调用的代码如下:
/// <summary>
/// 数据库备份,备份成功则返回-1
/// </summary>
/// <returns>返回操作结果</returns>
public int Backup(DBManager db, string path)
{
try
{
string sql = "backup database EduDB to disk = '" + path + "' with format";
T_LogFile.SystemLog(this.ToString() + " " + sql);
return db.Backup(sql);
}
catch (Exception ex)
{
throw ex;
}
}