如何在 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?
我知道我可能缺少一些基础知识,但在网上找不到任何东西。
您可以清除以前的响应缓冲区并写入新输出。
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()
。