我正在开发一个 asp.net 应用程序。在那一页上,我有一个文本框和一个按钮。当我单击按钮时,应该会出现一个弹出窗口,它会要求我将 TextBox 的文本保存在所需路径上的文件中。
它给了我错误“当前线程必须设置为单线程单元(STA)模式,然后才能进行 OLE 调用。确保您的 Main 函数上标记了 STAThreadAttribute。仅当调试器附加到进程时才会引发此异常”
protected void ButtonIDSaveAs_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Title = "Save an Image File";
//saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
using (StreamWriter sw = new StreamWriter(saveFileDialog1.OpenFile()))
{
sw.Write(TextBoxIDPVMContent.Text);
sw.Close();
}
}
}
catch (Exception ex)
{
// ex;
}
}
所以为了消除这个错误,我已经对我的 asp 文件 AspCompat="true" 进行了更改
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ABC.cs" Inherits="XYZ" ValidateRequest = "false" %>
它使我的应用程序挂起。那么我怎样才能摆脱这个问题呢?或者有没有其他方法可以实现这个功能?为什么它让我的应用程序很慢?
另一方面,我创建了一个小型 asp Web 应用程序并做同样的工作,就像我有一个带有一个文本框和一个按钮的页面,我想将文本框的数据保存到一个文件中。在这个应用程序中它工作得很好。
我从早上就被困在这个问题上,我知道这个问题背后会有一些小技巧。