我想为刺痛添加双引号。我知道使用/“我们可以添加双引号。我的字符串是
string scrip = "$(function () {$(\"[src='" + names[i, 0] + "']\"" + ").pinit();});";
当我在浏览器上执行此操作时,我得到的是“而不是”引号。我怎样才能克服这个问题?
答案 0 :(得分:1)
如果您的浏览器显示“& quot”而不是“字符”,那么可能只有少数原因。该字符应该作为其本身或作为 HTML实体发送到浏览器"
的。请注意最后的半色调。如果浏览器看到这样的“代码”,它会显示一个引号。这样可以更容易地编写HTML,当它的属性需要包含特殊字符时,比较:
<div attribute="blahblahblah" />
如果你想把一个“放入blahs,它会终止属性的符号,HTML代码就会中断。所以,添加一个”字符应如下所示:
<div attribute="blah"e;blahblah" />
现在,如果您错过了分号,浏览器将显示blah"blahblah
而不是blah"blahblah
。
我刚才注意到你的代码实际上粘贴了JavaScript代码。在JavaScript中,分号是一个表达式分隔符,因此可能在发出的HTML中实际存在"
并且它在错误消息中不正确地显示...或者您可能忘记打开/关闭某些引号javascript,分号实际上被视为表达式终止符?
还要确保检查JavaScript代码经历html-entity翻译的原因。通常,块不会被重新分析。您是否将JavaScript代码设置为HTML元素属性?喜欢OnClick还是OnSend?然后现在停止这样做。使用此代码创建一个javascript函数,并从click / send调用该函数。将JS中的长表达式编码为属性是不值得的!只是浪费时间和精力。
如果所有其他方法都失败并且JavaScript正确发出,那么请查找您网站上的任何文本更正或文本突出显示或文本格式化模块。很可能他们中的一个误读了html实体并删除了分号,或者相反 - 他们添加它们是不需要的。 ASP.Net本身通常可以正常工作,它可以在任何需要的地方正确地翻译,所以我先看看其他库。
答案 1 :(得分:0)
您可以使用以下内容:
String str=@"hello,,?!"
这应该逃避所有角色 或
String TestString = "This is a <Test String>.";
String EncodedString = Server.HtmlEncode(TestString);
答案 2 :(得分:0)
你还在用字符串做什么?
似乎在某个地方之后字符串被编码。你可以使用HttpUtility.HtmlDecode(str);但首先你必须首先找出你的字符串编码的位置。
请注意,如果您在aspx中使用<%: %>
或在Razor中使用@yourvar
,则会自动进行编码。您必须使用@Html.Raw(yourvar)
来抑制它。