ビュー自体の内部
で実数としてレンダリングされる a内にEnvironment.NewLine(または a < br />)を渡すにはどうすればよいですか?ViewData["msg"]<br />
私はC#を使用しています...
ビュー自体の内部
で実数としてレンダリングされる a内にEnvironment.NewLine(または a < br />)を渡すにはどうすればよいですか?ViewData["msg"]<br />
私はC#を使用しています...
簡単に使用できます
HttpUtility.HtmlEncode("<br />");
詳しくはこちらをご覧ください。
編集:
申し訳ありませんが、私は最初の質問を理解していませんでした。渡された文字列をエンコードしたいと思っていました。質問を読むのが速すぎることがあります:)
とにかく、あなたの質問に完全に答えるには、これらのサンプルを見てください。アクションに次のものがあるとします。
[HttpGet]
public virtual ActionResult Index() {
ViewData["Message"] = "This is a test." + "<br />" + "Does it work?";
return View();
}
そして、あなたの見解では、
<p>Sample 1: <br /><%= ViewData["Message"]%></p>
<p>Sample 2: <br /><%: ViewData["Message"]%></p>
2 つの構造の違いに注目してください。次の結果が得られます。
Sample 1:
This is a test.
Does it work?
Sample 2:
This is a test.<br />Does it work?
したがって、最初の使用例はあなたの質問に答えます。重要なのは、最初に理解したのとは対照的に、文字列をエンコードしないことです。2 番目のコンストラクトは、<%: %>.NET 4.0 を使用している場合に使用できるを使用するもので、レンダリングするすべての文字列を自動的にエンコードします。
この最新の構成を引き続き使用し、文字列がエンコードされないようにする場合は、トリックを使用する必要があります。文字列がすでにエンコードされており、再エンコードする必要がないことをコンストラクトに伝えるだけです。これを実現するには、このサンプル コードを使用します
[HttpGet]
public virtual ActionResult Index() {
ViewData["Message2"] = MvcHtmlString.Create( "This is a test." + "<br />" + "Does it work?" );
return View();
}
ビューでは通常、<%: %>構造を使用します
<p>Sample 3: <br /><%: ViewData["Message2"]%></p>
MvcHtmlString の使用とその仕組みの詳細については、SO に関するこの質問を参照してください。
チャオ!
ViewData 文字列自体の中で \n または \r を試しましたか?