2009-06-09 39 views
18

私がコードしているasp.netページの領域には、文字列変数に応じていくつかのHTMLが変更されている必要があります。 私はラベルを作成し、その上のテキストを変更することを考えていました。 ASP.NET - ページにいくつかのHTMLを書くには? Response.Write?

しかし、文字列変数のようなものが含まれますので、私はそれがラベルテキストにこれを与える感じていない

<h2><p>Notify:</p> alert</h2> 

は私が行うことができますどのように良いアイデア

のですか? response.writeを使用していますか? 私がresponse.writeを使用すると、追加されたコードはhtmlソースの先頭にあります。どのように私は彼に特定のものを追加するように指示できますか?

は、あなたが本当に任意のサーバーコントロールを使用したくない場合は、

答えて

28

LiteralControlを試してみませんか?

myLitCtrl.Text="<h2><p>Notify:</p> Alert</h2>"; 
+0

私はLiteralControlについて知らなかった... 申し訳ありません、私は初心者です....: - $ –

+6

誰も気にしないで(初心者)いつか:) – TheVillageIdiot

32

、あなたは文字列が書き込まれるようにしたい場所にResponse.Writeを置く必要がありますありがとう:

<body> 
<% Response.Write(stringVariable); %> 
</body> 

このため速記構文は次のとおりです。

<body> 
<%= stringVariable %> 
</body> 
+0

私が探していたもの、優秀なもの。 これを使用してJSON文字列を出力できますか? –

3

はリテラルコントロールを使用して、このようにHTMLを記述します。

literal1.text = "<h2><p>Notify:</p> alert</h2>"; 
2

実際はリテラル ASP.NETコントロールを使用する必要があります。

3

ASPXファイル:

<h2><p>Notify:</p> <asp:Literal runat="server" ID="ltNotify" /></h2> 

ASPX.CSファイル:

ltNotify.Text = "Alert!"; 
1

あなたはASP.netのリテラルコントロールして行くことができるか、パネルや目的を使用することができます。

10

あなたはちょうど標準のHTML DIVやSPANを使用することができますラベルまたはその他のASP.NET固有のサーバーコントロールよりも軽く、にrunat =「サーバー」と何か、例えばしたい場合:

マークアップ:

<span runat="server" id="FooSpan"></span>

コード:

FooSpan.Text = "Foo";

+0

クール!私はそれを知らなかった –

+1

」が「」より軽いのはわかりません。 –

+2

また、ラベルは単に実行時にスパンに変換されます。 – Jack

0

はまた、asp.netでpageMethodsを使用することができます。したがって、asp.net関数からjavascript関数を呼び出すことができます。例えば。ここで

[WebMethod] 
 
    public static string showTxtbox(string name) 
 
    { 
 
     return showResult(name); 
 
    } 
 
     
 
    public static string showResult(string name) 
 
    { 
 
     Database databaseObj = new Database(); 
 
     DataTable dtObj = databaseObj.getMatches(name); 
 

 
     string result = "<table border='1' cellspacing='2' cellpadding='2' >" + 
 
              "<tr>" + 
 
               "<td><b>Name</b></td>" + 
 
               "<td><b>Company Name</b></td>" + 
 
               "<td><b>Phone</b></td>"+ 
 
              "</tr>"; 
 

 
     for (int i = 0; i < dtObj.Rows.Count; i++) 
 
     { 
 
      result += "<tr> <td><a href=\"javascript:link('" + dtObj.Rows[i][0].ToString().Trim() + "','" + 
 
      dtObj.Rows[i][1].ToString().Trim() +"','"+dtObj.Rows[i][2]+ "');\">" + Convert.ToString(dtObj.Rows[i]["name"]) + "</td>" + 
 
       "<td>" + Convert.ToString(dtObj.Rows[i]["customerCompany"]) + "</td>" + 
 
       "<td>"+Convert.ToString(dtObj.Rows[i]["Phone"])+"</td>"+ 
 
      "</tr>"; 
 
     } 
 

 
     result += "</table>"; 
 
     return result; 
 
    }

コード上記.aspx.csページに書かれています。データベースは別のクラスです。 showResult()関数では、javascriptのlink()関数を呼び出しました。 結果が表形式で表示されます。

関連する問題