web-dev-qa-db-ja.com

MVC3 Razorを使用してViewbagからHTMLをレンダリングする方法

Viewbagを使用してフォーム要素をMVC3ビューに渡し、HTMLをページに単純に記述しようとしています...

コントローラー内:

ViewBag.myData = "<input type=""hidden"" name=""example"" value=""examplevalue"">";

ビューで(フォームのヘルパーを使用できることを知っています):

<form action="http://exampleurl/examplepage" method="post" id="example-form">
@ViewBag.myData
<input type="hidden" name="anotherexample" value="anotherexamplevalue" />
</form>

これにより、myDataがHTMLのテキストとしてレンダリングされます。

 &lt;type="hidden" name="example" value="examplevalue"&gt; 

だから私の質問は、Razorに古いものと同等のことをさせるにはどうすればいいですか?

<%= myData %>

<>を置き換えません

おかげでポール

64
Sunrise

@Html.Raw(ViewBag.Mydata)を使用します。

170
Yngve B-Nilsen

これは仕事をするはずです

 @Html.Raw((String)ViewBag.myData)

MSDN:このメソッドは、エンコードされていないHTMLをレンダリングするIHtmlStringクラスを使用してHTMLマークアップをラップします。

エンコードされていないHTMLの受け入れと表示には注意する必要があります。

21
user338195