在HTML中嵌套引号>;JavaScript>;WebForms或如何在JavaScript方法中调用.NET方法

在HTML中嵌套引号>;JavaScript>;WebForms或如何在JavaScript方法中调用.NET方法,javascript,c#,asp.net,webforms,double-quotes,Javascript,C#,Asp.net,Webforms,Double Quotes,谁会这么想呢,但是我实际上需要在ASP.NET WebForms页面中使用三级嵌套引号。 以下是我所拥有的: <img src='<% ResolveClientUrl("~/SwissStyleguide/img/swiss.svg"); %>' onerror="this.onerror=null; this.src='SwissStyleguide/img/swiss.png';" alt="Confederatio Helvetica" /

谁会这么想呢,但是我实际上需要在ASP.NET WebForms页面中使用三级嵌套引号。

以下是我所拥有的:

<img 
    src='<% ResolveClientUrl("~/SwissStyleguide/img/swiss.svg"); %>'
    onerror="this.onerror=null; this.src='SwissStyleguide/img/swiss.png';" 
    alt="Confederatio Helvetica" 
/>
但毫无疑问,VisualStudio抱怨这个字符串。我唯一想到的是使用一个字符串常量来避免最里面的引号,但这看起来很难看

是否有办法转义或以其他方式指定部分或全部引号以使其生效?


注意:我知道这个问题:但在这种情况下,更改引号没有帮助。

好吧,。。。这被证明是“的一个实例……这被证明是”的一个实例,那么把代码中的属性放在后面怎么样

.aspx

<img id="image" runat="server" alt="Confederatio Helvetica" /> 

把代码中的属性放在后面怎么样

.aspx

<img id="image" runat="server" alt="Confederatio Helvetica" /> 

是的,这也行。但是,正如我发现的那样,引号实际上不是问题所在。Server.MapPath将给出服务器系统上的绝对路径,而不是从客户端解析的路径。你应该在回答中改变这个。是的,这也行。但是,正如我发现的那样,引号实际上不是问题所在。Server.MapPath将给出服务器系统上的绝对路径,而不是从客户端解析的路径。你应该在回答中改变这一点。
<img id="image" runat="server" alt="Confederatio Helvetica" /> 
image.Attributes.Add("src", Page.ResolveUrl("~/SwissStyleguide/img/swiss.svg"));
image.Attributes.Add("onerror", "this.onerror=null; this.src='" +
    Page.ResolveUrl("~/SwissStyleguide/img/swiss.png") + "';";