【发布时间】:2016-04-20 08:06:20
【问题描述】:
谁会这么想,但我实际上需要在 ASP.NET WebForms 页面中嵌套 3 层引号。
这是我所拥有的:
<img
src='<% ResolveClientUrl("~/SwissStyleguide/img/swiss.svg"); %>'
onerror="this.onerror=null; this.src='SwissStyleguide/img/swiss.png';"
alt="Confederatio Helvetica"
/>
现在,第一部分,将动态创建的 URL 分配给 src 属性可以正常工作。服务器解析给定的特殊 URL 并创建一个绝对链接供客户端获取。
但onerror 处理程序更棘手:由于 png 图像的src URL 已经在带有双引号的表达式中,我无法调用 ASP.NET 的 ResolveClientUrl 方法,该方法严格要求双引号对于字符串参数。
我试图这样做(不工作!)
<img
src='<% ResolveClientUrl("~/SwissStyleguide/img/swiss.svg"); %>'
onerror="this.onerror=null; this.src='<% ResolveClientUrl("~/SwissStyleguide/img/swiss.png"); %>';"
alt="Confederatio Helvetica"
/>
但毫无意外,Visual Studio 会抱怨这个字符串。我想到的唯一想法是使用字符串常量来避免使用最里面的引号,但这看起来很丑陋。
有没有办法转义或以其他方式指定部分或全部引号以使其正常工作?
注意:我知道这个问题:When to use double or single quotes in JavaScript?,但在这种情况下更改引号无济于事。
【问题讨论】:
标签: javascript c# asp.net webforms double-quotes