C# 用双引号包装ASP.NET控件
我在一个转发器中处理博客文章,并在底部显示一个ShareThisJavaScript页面。文章的标题和URL正在发送到JS。在一个测试用例中,帖子的标题只有一个引号,例如 马克的测试桩 由于我需要在发送到ShareThis时保留该单引号,因此我需要将该JavaScript字符串用双引号括起来,但是该字符串是通过一个文本绑定的,我不能用双引号括起来: 这是我想要的,但不起作用:C# 用双引号包装ASP.NET控件,c#,javascript,asp.net,html-encode,C#,Javascript,Asp.net,Html Encode,我在一个转发器中处理博客文章,并在底部显示一个ShareThisJavaScript页面。文章的标题和URL正在发送到JS。在一个测试用例中,帖子的标题只有一个引号,例如 马克的测试桩 由于我需要在发送到ShareThis时保留该单引号,因此我需要将该JavaScript字符串用双引号括起来,但是该字符串是通过一个文本绑定的,我不能用双引号括起来: 这是我想要的,但不起作用: SHARETHIS.addEntry({ title: "<asp:Literal ID="ltlTitle" r
SHARETHIS.addEntry({ title: "<asp:Literal ID="ltlTitle" runat="server" />", etc..
我如何正确地对其进行编码,或者以某种方式将控件用双引号括起来?我知道HttpUtility.HtmlEncode
和Server.HtmlEncode
,但我看不出这些对我有什么帮助。您需要在服务器端对字符串进行“javascript编码”。
你可能正在寻找这样的东西
您需要在服务器端对字符串进行“javascript编码”。
你可能正在寻找这样的东西
事实证明,我实际上可以在ASP.NET控件本身中使用单引号,我从来不知道这是有效的。我过去认为这是一个解析器错误,但我的页面加载正确
title: "<asp:Literal ID='ltlTitle' runat='server' />"
事实证明,我实际上可以在ASP.NET控件本身中使用单引号,我从来都不知道这是有效的。我过去认为这是一个解析器错误,但我的页面加载正确
title: "<asp:Literal ID='ltlTitle' runat='server' />"
改为使用
怎么样?改为使用
怎么样?我尝试在我的C中对单个引号中的\x27
的编码值进行替换,但它仍然呈现不正确。由于您只担心单个引号,请尝试此快速修复。lblTitle.Text=title.Replace(“'”,“\\”);但是,如果您想确保安全,最终需要创建自己的JavaScript编码函数。我尝试在我的C#中对单个引号中的编码值\x27
进行替换,但它仍然呈现不正确。由于您只担心单个引号,请尝试此快速修复。lblTitle.Text=title.Replace(“'”,“\\”);但如果您希望安全,最终需要创建自己的JavaScript编码函数。
title: "<asp:Literal ID='ltlTitle' runat='server' />"
title: "Mark's test post"