gpt4 book ai didi

javascript - 将 Html.Raw() 存储在 Javascript、ASP.NET MVC 3 的字符串中

转载 作者:数据小太阳 更新时间:2023-10-29 05:04:35 24 4
gpt4 key购买 nike

我正在使用 ASP.NET,并且数据库中有一个 HTML 字符串。

我想将该 html 放入客户端的一个变量中。

如果我这样做:

var x = '@Html.Raw(myModel.FishValue)'

它工作正常,因为它本质上是在做

var x = '<p>hello!</p>';

但是,如果 html 中有引号,它会破坏页面。

我最初的猜测是 .Replace 原始字符串以向引号添加转义符,但是 .ToString().ToHtmlString() (作为 Html. Raw 返回 IHtmlString)不会产生与简单 Html.Raw() 相同的标记。

所以我不知如何是好。

最佳答案

在调用Html.Raw方法之前替换怎么样?

 var x = '@Html.Raw(myModel.FishValue.Replace("'","\\'"))' 

更新:

来自模型的字符串中可能有其他转义字符。出于这个原因,我建议也先更换斜杠。当然,这完全取决于您模型中的服务器可能会提供什么。

 var x = '@Html.Raw(myModel.FishValue.Replace("\\","\\\\'").Replace("'","\\'"))' 

代表 javascript 中行为的示例片段:

//Let's say my Model Content is >  I'd Say \ is a escape character. You can't "Escape"  
// YOu would have to replace ' --> \' and \ --> \\
var stringFromServer = 'I\'d Say \\ is a escape character. You can\'t "Escape"'
alert(stringFromServer)

关于javascript - 将 Html.Raw() 存储在 Javascript、ASP.NET MVC 3 的字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com