4

我有一个已转换为 asp.net 代码的 php 代码。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!");
    }

谢谢。

4

5 回答 5

16

一对一的等价物是Response.Write

Response.Write("some text");

也就是说,ASP .NET 和 PHP 是非常不同的框架。使用 ASP .NET(包括 MVC 框架)很少需要以这种方式直接写入响应流。

一种这样的情况是,如果您想返回一个非常轻量级的响应。你可以这样做:

Response.ContentType = "text/xml";
Response.Write("<root someAttribute = 'value!' />");

除了直接使用之外的任何方法Response都可以(并且可能会)改变输出。简而言之 - 如果您只想将原始数据转储HttpResponseResponse.Write().

于 2012-04-25T16:12:52.433 回答
5

您可以使用Response.Write("");

或在您的 .aspx 页面中使用<%="string"%>

于 2012-04-25T16:13:09.670 回答
3

你可以写任何你想给客户的文本:

Response.Write(yourString);
于 2012-04-25T16:12:37.150 回答
1

您可以Response.Write()为此使用:

Response.Write("your text here");
于 2012-04-25T16:13:00.410 回答
1

正如Yuck 所提到的,大多数时候你真的不需要Response.Write在 ASP 中使用(这是 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 环境中解决此问题的标准方法。

于 2012-04-25T16:36:15.797 回答