如何在 asp.net 中没有html的情况下进行响应

本文关键字:html 情况下 响应 asp net | 更新日期: 2023-09-27 18:32:56

也许是简单的问题。

好的,我的页面上有一篇文章,需要用一个字符串回复。

在PHP中,你可以简单地做这样的事情:

<?php
die ("test");

然后,您可以将此页面放在Web服务器上并像这样访问它:

localhost/test.php

所以,我需要在 C# 中做完全相同的事情。

当我尝试回复时:

 protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("test");
        Response.End();
    }

我得到:"<html><head><style type="text/css"></style></head><body>test</body></html>"作为回应。

如何使 asp.net 只返回确切的响应,而没有html?

我知道我可能缺少一些基础知识,但在网上找不到任何东西。

如何在 asp.net 中没有html的情况下进行响应

您可以清除以前的响应缓冲区并写入新输出。

Response.Clear(); // clear response buffer
Response.Write("test"); // write your new text
Response.End(); // end the response so it is sent to the client

确保在*.aspx文件中的顶部有AutoEventWireup="true",如果它是假的(或者不存在?),你的Page_Load事件处理程序不会被调用。

另外,请确保您已编译页面。

另一个建议是使用Generic Handler(即*.ashx),这些不使用典型的Web表单生命周期,可能更适合您正在做的事情。

我想你正在寻找:

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "text/plain";
        Response.Write("test");
        Response.End(); 
    }
对我来说,

它只在response.write()中生成实际文本;语句。为了清楚起见,我正在上传完整的代码。

视觉工作室:2010

代码隐藏:

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("I CAN ONLY SEE THIS NO OTHER HTML TAG IS INCLUDED");
        Response.End();
    }
}

网页代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>

输出和HTML来源:

我只能看到这个没有包含其他 HTML 标签

我得到了想要的结果。我已经用母版页尝试过这段代码,我也得到了相同的结果。

请确保您的AutoEventWireup="true",如果我将其变为假,则HTML SOURCE将更改为此

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title></head>
<body>
    <form method="post" action="Default2.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZGivF0fgbeE6VebNR51MYSu3yJdsZ9DwEtIPDBVRf4Vy" />
</div>
    <div>
    </div>
    </form>
</body>
</html> 

正如上面的答案所建议的那样,您需要在代码隐藏中AutoEventWireup="true"Response.End()

相关文章: