我想在ASP.NET(C#)中向控制台写一些结果。 它适用于Window应用程序,但Web应用程序不起作用。 这是我尝试过的:
protected void btonClick_Click(object sender, EventArgs e)
{
Console.WriteLine("You click me ...................");
System.Diagnostics.Debug.WriteLine("You click me ..................");
System.Diagnostics.Trace.WriteLine("You click me ..................");
}
但是我在“输出”面板中看不到任何内容。我该如何解决这个问题?
答案 0 :(得分:161)
Console.Write在ASP.NET中不起作用,因为它是使用浏览器调用的。请改用Response.Write。
请参阅Stack Overflow问题 Where does Console.WriteLine go in ASP.NET? 。
如果要在调试期间向Output窗口写入内容,可以使用
System.Diagnostics.Debug.WriteLine("SomeText");
但这仅在调试期间有效。
请参阅Stack Overflow问题 Debug.WriteLine not working 。
答案 1 :(得分:24)
using System.Diagnostics;
只要下拉列表设置为“Debug”,以下内容就会打印到您的输出中。如下所示。
Debug.WriteLine("Hello, world!");
答案 2 :(得分:7)
如果出于某种原因你想要抓住Console.WriteLine
的输出,你可以这样做:
protected void Application_Start(object sender, EventArgs e)
{
var writer = new LogWriter();
Console.SetOut(writer);
}
public class LogWriter : TextWriter
{
public override void WriteLine(string value)
{
//do whatever with value
}
public override Encoding Encoding
{
get { return Encoding.Default; }
}
}
答案 3 :(得分:2)
Trace.Write(“错误消息”)和Trace.Warn(“错误消息”)是在web中使用的方法,需要修饰页眉trace = true并在配置文件中隐藏错误消息文本到转到最终用户,以便留在iis本身进行程序员调试。
答案 4 :(得分:1)
在code-behind中使用response.write方法。
答案 5 :(得分:0)
确保以调试模式( F5 )启动应用程序,而不是没有调试( Ctrl + F5 ),然后选择&# 34;显示输出:Debug"在Visual Studio的“输出”面板中。
答案 6 :(得分:0)