在引用C#变量时如何处理JavaScript中的双引号
我需要调用一个JavaScript函数,该函数接受一个字符串变量,该变量可能包含双引号。下面是我如何将变量传递到JavaScript函数中的:在引用C#变量时如何处理JavaScript中的双引号,c#,javascript,asp.net,string,C#,Javascript,Asp.net,String,我需要调用一个JavaScript函数,该函数接受一个字符串变量,该变量可能包含双引号。下面是我如何将变量传递到JavaScript函数中的: onclick="copyDescription('<%# Eval("Description") %>');" 如果我从上面的描述中删除双引号,它将非常有效。我通过执行以下操作进一步测试了这一点,结果正如预期的那样: $(document).ready(function () { var str = 'VA
onclick="copyDescription('<%# Eval("Description") %>');"
如果我从上面的描述中删除双引号,它将非常有效。我通过执行以下操作进一步测试了这一点,结果正如预期的那样:
$(document).ready(function () {
var str = 'VALVE BALL 1" 2000 RP THRD NACE SS BALON LS-10561';
copyDescription(str);
});
我曾尝试通过JavaScript执行.replace(“”、“\”)和.replace(““”、”)操作,但两种操作都不起作用。我可以通过修改C代码来删除引号,该代码获取删除双引号的值,这是可行的。只是不能通过JavaScript。有什么想法吗?问题在于
”
正在终止HTML属性并切断JS mid语句
在由双引号分隔的属性值中,双引号必须表示为
“
。问题在于“
正在终止HTML属性并切断JS mid语句
双引号必须在由双引号分隔的属性值中表示为
“
。使用Eval调用输出JSON或纯文本。这将处理任何嵌入的Javascript元字符。我不知道在C#中如何实现,但在PHP中它只是:
onclick="copyDescription(<?php echo json_encode(...) ?>);"
onclick=“copyDescription();"
使用Eval调用输出JSON或纯文本。这将处理任何嵌入的Javascript元字符。我不知道如何在C#中实现这一点,但在PHP中它只是:
onclick="copyDescription(<?php echo json_encode(...) ?>);"
onclick=“copyDescription();"
在字符串上使用and call函数JavaScriptEncode()
在字符串上使用and call函数JavaScriptEncode()
我使用的解决方案是使用以下方法回答我的问题:
onclick="copyDescription('<%# Server.HtmlEncode(Eval("Description").ToString()) %>');"
onclick=“copyDescription(“”);"
Server.HtmlEncode按我所需的方式工作
感谢大家的帮助和回答!我所采用的解决方案是使用以下方法来回答我的问题:
onclick="copyDescription('<%# Server.HtmlEncode(Eval("Description").ToString()) %>');"
onclick=“copyDescription(“”);"
Server.HtmlEncode按我所需的方式工作
谢谢大家的帮助和回答!我已经找到了答案,但是我找不到任何文档来解释
JavaScriptEncode
的实际功能。但是,看起来它并不能解决这个问题,需要使用HtmlAttributeEncode
(这可能会处理引号字符以获得我的答案中描述的结果)。@Quentin对于以下字符串:“这是一个\“测试\”
运行JavaScriptEncode
将产生:”“这是一个\x22test\x22”“
如果您想了解它的工作原理,请打开in reflector。啊,那也可以。我已经找过了,但是我找不到任何文档来解释JavaScriptEncode
实际上是做什么的。然而,看起来它并不能解决这个问题,需要HtmlAttributeEncode
(这可能会处理引号字符以获得我的答案中描述的结果)。@Quentin对于以下字符串:“这是一个\“测试\”
运行JavaScriptEncode
将产生:“'这是一个\x22test\x22'”
如果你想了解反射器的工作原理,请打开反射器。啊,那也行。虽然我感谢你的努力,但这真的没有帮助。尽管我感谢你的努力,但这真的没有帮助。在说明中尝试“
如何在说明中尝试”