用\“#39;替换单引号

时间:2017-06-09 12:25:48

标签: c# asp.net

大家好,这对我来说是一个愚蠢但又小又重要的。

我有一个jQuery,它拾取了一些带有单引号的字符串,导致根本没有拾取它们。即

data-name='someone's name';

获取代码的jQuery

$('#id').text($(this).data("name"));

我的猜测是jQuery封闭是''而不是""所以'中的someone's name正在关闭,因此导致someone

所以我试图做以下事情 -

string name = "someone's name";

//Attempted replace here
<div data-name='<%# Eval("name").ToString().Replace("'","\'") %>'></div> 

但我得到了Parser Error Message: The server tag is not well formed.

我做错了什么?

1 个答案:

答案 0 :(得分:2)

Trivially use double quotes data-name="someone's name"

To deal with strings that may contain either quotes you need to encode as HTML entities:

HttpUtility.HtmlAttributeEncode("someone's name") yields someone&#39;s name

(You need to use outer " as the quote for this to work correctly)