这很简单!
这是我的动态JavaScript
代码Razor
标记:
<script type="text/javascript">
$.fancybox.open(
[
@foreach (var class in GenericClass)
{
var aux = "{ href: 'http://localhost:63095" + Url.RouteUrl("Image") + "' }";
<Text>@aux</text>
break;
}
],
{ helpers: { thumbs: { width: 75, height: 50 } }
});
</script>
这是我在任何网络浏览器中得到的结果:
<script type="text/javascript">
$.fancybox.open(
[
{ href: 'http://localhost:63095/Home/Image' }
],
{ helpers: { thumbs: { width: 75, height: 50 } }
});
</script>
但这是我真正希望产生的:
<script type="text/javascript">
$.fancybox.open(
[
{ href: 'http://localhost:63095/Home/Image' }
],
{ helpers: { thumbs: { width: 75, height: 50 } }
});
</script>
问题很明显:输出 apostrophe (')
,而不是 '
。有人知道如何生成 '
而不是 '
吗?
观察:我已尝试进行转义和编码,但似乎都没有效果。
答案 0 :(得分:2)
也许尝试包含内联值:
@foreach (var class in GenericClass)
{
<Text>{ href: 'http://localhost:63095@(Url.RouteUrl("Image"))' }</text>
break;
}
我认为应该解决问题
原始Html方法
如果您确实需要原始html,可以使用以下内容:
@Html.Raw(myString)
请特别注意,尤其是如果您要包含用户输入的值,因为它可能会导致XSS或其他安全问题。