Javascript 无法将HTML文本设置为InnerHtml属性

Javascript 无法将HTML文本设置为InnerHtml属性,javascript,asp.net-mvc,razor,Javascript,Asp.net Mvc,Razor,我的应用程序内置了ASP.NETMVC5。现在,我尝试做的是应用程序从数据库检索文本数据并生成一些html文本。因此,我可以通过分配innerHtml属性将该html文本设置为特定的div元素。但是,当我尝试将html文本分配到该div中时,它不会呈现。它显示html文本 这是我的密码 <script type="text/javascript"> var elem = document.getElementById('discussion'); elem.inne

我的应用程序内置了ASP.NETMVC5。现在,我尝试做的是应用程序从数据库检索文本数据并生成一些html文本。因此,我可以通过分配
innerHtml
属性将该html文本设置为特定的div元素。但是,当我尝试将html文本分配到该div中时,它不会呈现。它显示html文本

这是我的密码

<script type="text/javascript">
    var elem = document.getElementById('discussion');
    elem.innerHTML = "@Server.HtmlDecode(@discussionDiv.ToString())";
</script>

var elem=document.getElementById(“讨论”);
elem.innerHTML=“@Server.HtmlDecode(@discussionDiv.ToString())”;

有没有更好的方法可以用来将html文本设置到dom元素中

您应该使用
Html.Raw

elem.innerHTML = '@Html.Raw(discussionDiv.ToString())';

因为它包含很多双引号
我选择在值上使用单引号。

@
自动编码html。使用
html.Raw
输出原始html,或者使用
MvcHtmlString
而不是普通的
string
。谢谢@Mathew我已经尝试过了。它成功了。谢谢@scartag它的工作