asp.net c# 中是否有等效的回声
本文关键字:回声 是否 net asp | 更新日期: 2023-09-27 18:32:09
我有一个PHP代码,我已经转换为 asp.net 代码。PHP 代码只是回显客户端读取和解释的响应,但是在 asp.net 中,生成的输出被迫采用 html 格式——这正是因为我使用 asp.net 标签来打印输出。
有没有办法实现与 php 中的 echo 相同的目标,或者是否有一个非常轻量级的代码可以帮助我正确解析 html 文本?
编辑:
我想做的是
获取帖子数据
呼应"一些东西"
我当前的测试 aspx 文件是:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="grabber.aspx.cs" Inherits="qProcessor.grabber" %>
后面的代码只有一个方法:
protected void Page_Load(object sender, EventArgs e)
{
//this.Response.Write("Welcome!");
}
谢谢。
一对一的等价物是Response.Write
:
Response.Write("some text");
也就是说,ASP .NET和PHP是非常不同的框架。对于 ASP .NET(包括 MVC 框架),很少需要以这种方式直接写入响应流。
其中一种情况是,如果您想返回非常轻量级的响应。你可以做这样的事情:
Response.ContentType = "text/xml";
Response.Write("<root someAttribute = 'value!' />");
除了直接使用 Response
之外的任何方法都可以(并且可能会)改变输出。简而言之 - 如果您只想将原始数据转储到HttpResponse
中,则需要使用 Response.Write()
.
您可以使用
Response.Write("");
或在.aspx页面中使用<%="string"%>
你可以把任何你想要的文本写给客户端:
Response.Write(yourString);
正如 Yuck 提到的,您大部分时间都不需要在 ASP 中使用 Response.Write
(这是 echo 的直接端口)。 给定您的示例,您可能希望执行以下操作:
protected void Page_Load(object sender, EventArgs e)
{
this.Controls.Add(new LiteralControl(Server.HTMLEncode("<h1>Welcome!</h1>")));
//will actually print <h1>Welcome!</h1>, rather than Welcome! that's bolded/centered/etc.
}
或者,您甚至可以将文本控件、标签等添加到标记中,然后在代码隐藏中设置 Text
属性。 这是在 ASP 环境中解决此问题的标准方法。
您可以使用
Response.Write()
:
Response.Write("your text here");