在HTML中嵌套引号>;JavaScript>;WebForms或如何在JavaScript方法中调用.NET方法
谁会这么想呢,但是我实际上需要在ASP.NET WebForms页面中使用三级嵌套引号。 以下是我所拥有的:在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" /
<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") + "';";