2016-10-23 13 views
0

JavaScriptから静的なHTMLにアクセスしようとしています。ここで私はやっているものです:_Header.cshtmlでASP.NET MVC/JavaScript - C#amperからエンコードされたHTML文字列をデコード

:しかし

@{ 
    string HTMLContent = @Server.HtmlDecode("<div>Hello World</div>"); 
} 

<script type="text/javascript"> 
    var StaticHTML = @HTMLContent; 
</script> 

、私は次のエラー取得しています:私はHTMLContent変数ように見えるんそれをステップ実行すると

Uncaught SyntaxError: Unexpected token & 

をあたかもエンコードされていないかのようにJavaScriptで印刷されています。

私はここで何が欠けていますか?

答えて

3

ビューでコードを実行すると、@はC#式の値をエンコードします。だからあなたはそれを避けたい。 htmlエンコーディングを行わないHtml.Rawメソッドを使用することができます。

js変数に値を割り当てるので、引用符(一重または二重)で囲む必要があります。

これは動作するはずです。

var StaticHTML = "@Html.Raw(HTMLContent)"; 
console.log(StaticHtml); 
+1

これは機能しました。どうもありがとうございました - – William

関連する問題