26

私は ASP.NET C# が初めてで、いくつかの問題があります。

PHP では、変数内に HTML コードを格納できます。次に例を示します。

$list = "<li>My List</li>";
echo "<ul>{$list}</ul>"; // write <ul><li>My List</li></ul>

ASP.NETとRazorでこれを試しました

string List = "<li>My List</li>";
<ul>@List</ul>

しかし、ASP は "<" と ">" を&gt;and &lt;.. に変更します。これに対する解決策はありますか?

別の質問があります。PHP のように引用符内に変数を挿入できますか?

echo "<ul>{$list}</ul>";
4

2 に答える 2

44

お気づきのように、RazorエンジンのHTMLはデフォルトで文字列をエンコードします。この動作を回避するには、次を使用しますHtml.Raw()

<ul>@Html.Raw(List)</ul>

編集

文字列内で変数をレンダリングするには、次を使用できると思いますstring.Format

@{ var someVariable = "world"; }
@string.Format("<div>hello {0}</div>", someVariable)

あなたがただ書くことができるとき、それは(少なくともこの例では)やり過ぎのように見えますが:

<div>hello @someVariable</div>
于 2012-10-18T21:40:16.250 に答える