C# 相当于响应。在Windows应用程序中
我正在尝试将文本数据传输到文本文件并使其可下载。在Web应用程序中使用响应很容易。但当在windows上传输相同的内容时,我无法得到解决方案,我们可以通过将数据写入文本文件来实现,但如何使该文件可下载 这是我编写的Web格式的代码C# 相当于响应。在Windows应用程序中,c#,asp.net,winforms,C#,Asp.net,Winforms,我正在尝试将文本数据传输到文本文件并使其可下载。在Web应用程序中使用响应很容易。但当在windows上传输相同的内容时,我无法得到解决方案,我们可以通过将数据写入文本文件来实现,但如何使该文件可下载 这是我编写的Web格式的代码 private void ButtonSaveText_Click(object sender, EventArgs e) { //Build the Text file data. string TextFileDat
private void ButtonSaveText_Click(object sender, EventArgs e)
{
//Build the Text file data.
string TextFileData = string.Empty;
TextFileData = TextFileData + "PAY SLIP FOR THE MONTH --------------" + Environment.NewLine + Environment.NewLine + Environment.NewLine;
for (int i = 0; i < GridViewPaySlip.Rows.Count; i++)
{
for (int j = 0; j < GridViewPaySlip.HeaderRow.Cells.Count; j++)
{
TextFileData += GridViewPaySlip.HeaderRow.Cells[j].Text + "\t\t\t" + GridViewPaySlip.Rows[i].Cells[j].Text + Environment.NewLine + Environment.NewLine + Environment.NewLine;
}
}
//Download the Text file.
Response.Clear();
Response.Buffer = true;
string FileName = String.Format("{0}__{1}{2}", "payslip", EmployeeIdTemp, ".txt");
Response.AddHeader("content-disposition", "attachment;filename=" + FileName);
Response.Charset = "";
Response.ContentType = "application/text";
Response.Output.Write(TextFileData);
Response.Flush();
Response.End();
}
private void按钮SaveText_单击(对象发送者,事件参数e)
{
//构建文本文件数据。
string TextFileData=string.Empty;
TextFileData=TextFileData+“当月工资单-----------------”+Environment.NewLine+Environment.NewLine+Environment.NewLine;
对于(int i=0;i
关于表单应用程序和网站之间的区别,以及web服务器的角色,我认为这里有一点误解
创建文本文件非常简单:
using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\example.txt"))
{
file.WriteLine(TextFileData);
}
就这样。还有其他方法,该示例不涉及编码或任何内容,但它保存了文件
就“使其可下载”而言,这实际上与应用程序无关。相反,您需要确保将文本文件保存到web服务器所服务的文件夹中(并且web服务器支持该文件类型)
newstreamwriter(“D:\\Websites\\paysiles\\paysile\uquot+EmployeeIdTemp+”.txt”)
或者你可能使用的任何路径
希望有帮助 正如“Octopoid”所说,你有点困惑
想想看。你不能在桌面应用程序中“下载”。在web应用程序中,需要将文件从服务器下载到客户端
在桌面应用程序中,没有服务器和客户端,因此“下载”的概念不存在
您可能正在考虑这样一个事实,即web应用程序中的下载可能涉及一些对话框,允许将下载的文件保存在用户选择的位置。这就是允许您执行的操作。例如:
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
using (var stream = saveFileDialog1.OpenFile())
{
// code to write to the stream
}
}
看起来您正在尝试将文件从Web下载到Winform应用程序。您可能应该尝试这里描述的WebClient;您可以将这些内容保存到特定位置的文件中,并提示“保存”对话框(类似于我们从web应用程序下载的内容)@不,我正在使用DataGridView数据编写文件,并希望使该文件在ButtonClick@ArindamNayak我不是这样做的,只是在输出Downlodable文件保存的文件中转储值,没有其他内容,没有写入,没有临时文件creation@AlokSrivastava我的观点是,如果您试图将web应用程序转换为windows应用程序,您可能需要遵循此路径。这是假设您实际上是指“使文件可下载”。如果您的意思是“允许用户保存文件”,那么John的社区wiki答案已经涵盖了您。