C# 在C中编辑.Bat文件#
首先,我的代码是:C# 在C中编辑.Bat文件#,c#,asp.net,C#,Asp.net,首先,我的代码是: protected void Button2_Click1(object sender, EventArgs e) { string batname = edit.SelectedValue; StreamWriter sw = new StreamWriter("D:\\MPSite-Serv\\bats\\" + batname); string theedit = batedit.Text; sw.WriteLine(theedit);
protected void Button2_Click1(object sender, EventArgs e)
{
string batname = edit.SelectedValue;
StreamWriter sw = new StreamWriter("D:\\MPSite-Serv\\bats\\" + batname);
string theedit = batedit.Text;
sw.WriteLine(theedit);
sw.Flush();
}
当我点击按钮2
并尝试将所有文本写入bat文件时,我得到bat文件包含的结果:
System.Web.UI.WebControls.TextBox
为什么呢
如果有帮助,我将使用以下所有语句:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Diagnostics;
您得到了文本框的类型名称,这让我相信您的代码看起来像:
sw.WriteLine(batedit);
也就是说,您正在发送要写入文件的textbox对象本身,而不是其Text
属性的内容。这将隐式调用ToString
方法,默认情况下,该方法返回对象的类型名称
此外,您没有正确关闭
StreamWriter
,这可能会在您想要使用它时导致问题。您应该调用Close
方法,并且在关闭StreamWriter
之前不必调用Flush
。或者,您可以使用块将StreamWriter
放入一个中,该块会自动处理它,并将其关闭。您得到的是文本框的类型名称,这让我相信您的代码看起来很像:
sw.WriteLine(batedit);
也就是说,您正在发送要写入文件的textbox对象本身,而不是其Text
属性的内容。这将隐式调用ToString
方法,默认情况下,该方法返回对象的类型名称
此外,您没有正确关闭StreamWriter
,这可能会在您想要使用它时导致问题。您应该调用Close
方法,并且在关闭StreamWriter
之前不必调用Flush
。或者,您可以使用
块将StreamWriter
放入中,该块将自动对其进行处理,并将其关闭。
问题很简单:sw.writeline需要一个字符串。您正在向其发送一个文本对象,该对象将转换为上述.ToString();这意味着你的台词会被松散地翻译成
sw.WriteLine(theedit.ToString());
如果您查看WebControl.TextBox的文档。。。向下滚动列表到方法ToString()
你需要做的是。。。一次只给它一个字符串(尽管我假设你可以从文本框中给它一个原始字符串):
问题很简单:sw.writeline需要一个字符串。您正在向其发送一个文本对象,该对象将转换为上述.ToString();这意味着你的台词会被松散地翻译成
sw.WriteLine(theedit.ToString());
如果您查看WebControl.TextBox的文档。。。向下滚动列表到方法ToString()
你需要做的是。。。一次只给它一个字符串(尽管我假设你可以从文本框中给它一个原始字符串):
你说的“得到这个结果”是什么意思?你从哪里得到这个值?什么是edit
?在.bat中,当我按下“edit”时。这基本上不能解释什么。在该方法中,您声明了一个变量(batname
),该变量似乎从名为edit
的控件实例的属性SelectedValue
获取数据,就像theedit
处理控件实例batedit
和属性edit
一样。另外,您是否可以尝试获取batname
和theedit
变量,以便我们查看这些变量的获取是否正确?您所说的“获取此结果”是什么意思?你从哪里得到这个值?什么是edit
?在.bat中,当我按下“edit”时。这基本上不能解释什么。在该方法中,您声明了一个变量(batname
),该变量似乎从名为edit
的控件实例的属性SelectedValue
获取数据,就像theedit
处理控件实例batedit
和属性edit
一样。另外,您是否可以尝试获取batname
和theedit
变量,以便查看这些变量是否正确获取?string batname=edit.SelectedValue;StreamWriter sw=新的StreamWriter(“D:\\MPSite Serv\\bats\\”+batname);字符串theedit=batedit.Text;sw.WriteLine(编辑ToString());sw.Close();我做了这件事,只是什么都不做。我得到黑编辑。无,字符串batname=edit.SelectedValue;StreamWriter sw=新的StreamWriter(“D:\\MPSite Serv\\bats\\”+batname);字符串theedit=batedit.Text;sw.WriteLine(编辑ToString());sw.Close();我做了这件事,只是什么都不做。我得到黑编辑。没有什么,