C#的新手,所以这可能有一个明显的答案,但是现在我被困住了。我正在尝试运行基本命令,并将结果输出到标签或文本框。代码如下:
protected void Button3_Click(object sender, EventArgs e)
{
ProcessStartInfo startInfo = new ProcessStartInfo("cmd", "/c " + "ping google.com")
{
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
Process process = Process.Start(startInfo);
process.OutputDataReceived += (s, a) =>
{
if (!String.IsNullOrEmpty(a.Data))
{
Response.Write(a.Data + "<br />");
Label1.Text = a.Data + Environment.NewLine;
}
};
process.BeginOutputReadLine();
process.WaitForExit();
}
Response.Write输出显示的内容与我期望的一样,但是Label1.Text输出仅显示最后一行。如何获取标签文本以显示命令的完整输出?任何帮助,将不胜感激。
答案 0 :(得分:1)
Label.Text = a.Data + Environment.NewLine;
时, Label.Text
将重新分配OutputDataRecieved
。如果要附加到它,解决方案将是:
Label.Text += a.Data + Environment.NewLine;