4

asp.netコードに変換したphpコードがあります。PHPコードは、クライアントが読み取って解釈する応答を単にエコーしますが、asp.netでは、生成された出力はhtml形式に強制されます。これは、出力を印刷するためにasp.netラベルを使用しているためです。

php のエコーと同じことを達成できる方法はありますか、それとも html テキストを適切に解析するのに役立つ非常に軽量なコードはありますか?

編集:

私がやろうとしていることは次のようなものです

//投稿データを取得

echo "何か"

現在テスト中の aspx ファイル次のとおりです。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="grabber.aspx.cs" Inherits="qProcessor.grabber" %>

コードビハインドにはメソッドが 1 つだけあります。

    protected void Page_Load(object sender, EventArgs e)
    {
        //this.Response.Write("Welcome!");
    }

ありがとう。

4

5 に答える 5

16

1 対 1 の等価物は次のようになりますResponse.Write

Response.Write("some text");

とはいえ、ASP .NET と PHP はまったく異なるフレームワークです。ASP .NET (MVC フレームワークを含む) では、この方法で応答ストリームに直接書き込む必要はほとんどありません。

そのようなケースの 1 つは、非常に軽量な応答を返したい場合です。次のようなことができます。

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 に答える