2011-12-29 31 views
1

私のC#スクリプトの出力に問題があり、asp.netコードに埋め込まれています。 Webフォームの送信ボタンをクリックすると、出力が生成されます。このウェブフォームはページの上部にあります。送信をクリックすると、その出力は現在ウェブフォームの上に配置されており、ウェブフォームはそのウェブフォームをその下にプッシュしています。私は逆が起こることを望みます。私はそれを私のウェブフォームの下に出力したい。次のように私は私のスクリプトからの出力を生成する方法がある:それは重要な場合C#スクリプト出力aspxページ

Response.Write("<p>"); 
foreach(obj in arr){ 
    Response.Write(obj); 
} 
Response.Write("</p>"); 

また、私はrunat =「server」を使用したスクリプトを初期化します。ユーザーがWebフォームの近くで「submit」を選択すると、スクリプトが呼び出されます。前もって感謝します。私は今かなり長い間このことをフォーマットしようとしてきました。

+0

出力ページを閉じる*タグの後に段落を追加しますか? –

+0

ページの残りのコードを質問に追加するか、少なくともフォーム部分を表示コードスニペットと比較できるようにしてください。 – Abbas

+0

@WiktorZychlaはい、私はそのトリックを行うだろうと思います。 –

答えて

5

ページ上の場所に正確な結果を表示したい場所に「リテラル」オブジェクトを置いたほうがよいでしょう。そして、response.writeでHTMLを吐き出すのではなく、あなたのコードビハインドのリテラル。

<html> 

<p> 
    <asp:Literal ID="ltlTest" runat="server"></asp:Literal> 
</p> 

</html> 

、その後の後ろにコード内で:一般的に、私はしないようにしようかかわら

ltlTest.Text = "the string you want to show..."; 

あなたは、文字列の割り当てにhtmlタグを含むことができ、このよう

+0

ああ、それを試してみるのを待つことはできません。しかし、私のaspxページはまだコードビハインドページが必要です。まだその部分を学んだことはありません、私は1つのaspxファイル内のすべてのコーディングを行ってきました。返信いただきありがとうございます! –

+0

コードビハインドは必要ありませんが、同じページでも実行できます。 –

+0

私はついに今日これを実装する機会を得ました。それは完璧に働いた! –

1

いくつかの選択肢があります。

  1. あなたはarrパブリックプロパティを行い、その後、あなたはそれをしたいページのマークアップに直接<% foreach (var obj in arr) Response.Write(obj); %>を使用することができます。

  2. <asp:Literal runat="server" ID="Literal1">コントロールに入力し、Literal1.Text = ...をコードに設定することができます。これは同じですが、ViewStateで実現されます(値はポストバックで保持されます)。

  3. 結果を<span />タグ内に表示したい場合は、<asp:Label />コントロールを使用できます。これは通常、ユーザーにメッセージを表示するための最良の選択です。

関連する問題