如何从 ASP.NET Web 应用程序中的代码隐藏重现 JavaScript 的 console.log() 功能?
令人惊讶的是,这之前没有给出过,但这对我在 Chrome 控制台的代码隐藏中有效:
Response.Write("<script>console.log('opened window');</script>")
您将无法通过隐藏代码直接写入浏览器的控制台。后台代码正在您的服务器上执行,浏览器(或消费者)不知道那里发生了什么。
如果您想从代码隐藏传递消息并将其显示在 console.log 中,则必须将它们呈现到页面中以由 javascript 执行。
例如:
<script>
console.log('@(Model.your_message)');
</script>
或者,您可以按照问题下评论中的建议使用Glimpse。
基于@Joel的答案(我还没有评论权)......它在Chrome中适用于我,我构建了这个简单的扩展方法,以使其更容易并可用于我的所有代码隐藏页面:
public static void ConsoleLog(this Page page, string msg)
{
msg = msg.Replace("'", ""); //Prevent js parsing errors. Could also add in an escape character instead if you really want the 's.
page.Response.Write("<script>console.log('"+msg+"');</script>");
}