jquery 在 MVC 中注入字符串后将引号更改为 &quot

jquery changes quotation mark to &quot after string injection in MVC

我正在对 DevExtreeme 图表进行一些工具提示自定义,我想将字符串注入到 MVC 项目中的 js 代码中:

.Tooltip(t => t
    .Enabled(true)
    .Location(Model.Tooltip.Location)
    .CustomizeTooltip(@<text>
function(arg) {
return {
text: @Model.Tooltip.Text 
};
}
    </text>)
)

字符串如下所示:

Text = "arg.seriesName + \" years: \" + arg.valueText"

但在输出上是:

text: arg.seriesName +&quot; years: &quot; + arg.valueText 

如何解决? (没有帮助)

感谢您的帮助

您在模型中保留自定义工具提示文本看起来很奇怪。此字符串 arg.seriesName + \" years: \" + arg.valueText 不是普通字符串。这是一个计算字符串的 JavaScript 语句。所以,它不应该来自模型。看看这个sample:

.CustomizeTooltip(@<text>
   function (arg) {
      return {
         text: arg.argumentText + "<br />" + arg.valueText
     };
}
</text>)

试着走同样的路。

我拥有在模型中定义图表的所有信息。这是应该如何实施的解决方案:

Tooltip = new TooltipDataPackage
            {
                Enabled = true,
                Location = ChartTooltipLocation.Edge,
                Text = (item) =>
                {
                    var func = "function(arg) {";
                    func += "return {";
                    func += "text: arg.seriesName + \" wiek: \" + arg.valueText";
                    func += "};";
                    func += "}";
                    return MvcHtmlString.Create(func);
                }
            },

对象TooltipDataPackage代码定义如下:

public class TooltipDataPackage
{
    public bool Enabled { get; set; }
    public RazorBlock Text { get; set; }
    public ChartTooltipLocation Location { get; set; }


}