带有单引号字符串的数据绑定未调用javaScript函数

带有单引号字符串的数据绑定未调用javaScript函数,javascript,asp.net,datalist,Javascript,Asp.net,Datalist,场景:- 我有一个数据列表,里面有一些图像。每个图像都有自己独特的属性(“描述”),该属性是从数据库查询加载的。现在,当鼠标悬停在任何图像上时,它将调用已定义的OnClinetClick JS函数。这是JS函数的参数绑定当前鼠标悬停图像的“描述”。(请参考代码) 问题:-只要“描述”中有一个单引号(例如世界最佳),就不会调用“demoJS”。但是如果同一个“描述”中有普通字符串(例如世界最佳),则会成功调用“demoJS” 请让我知道是否有人可以在这方面提供指导 <asp:DataLis

场景:- 我有一个数据列表,里面有一些图像。每个图像都有自己独特的属性(“描述”),该属性是从数据库查询加载的。现在,当鼠标悬停在任何图像上时,它将调用已定义的OnClinetClick JS函数。这是JS函数的参数绑定当前鼠标悬停图像的“描述”。(请参考代码)

问题:-只要“描述”中有一个单引号(例如世界最佳),就不会调用“demoJS”。但是如果同一个“描述”中有普通字符串(例如世界最佳),则会成功调用“demoJS”

请让我知道是否有人可以在这方面提供指导

 <asp:DataList ID="ItemSelectionDataList" CssClass="itemSelectionDataList" runat="server"
                 DataSourceID="DemoDataSource">
     <ItemTemplate>
         <a href="DemoPage.aspx?1>"
             class="itemSelectionItemLink" 
             onmouseover="demoJS('<%# DataBinder.Eval(Container.DataItem, "Description")%'                                   
         </a>
     </ItemTemplate>
</asp:DataList>


为什么不像这样用
\'
替换
'

DataBinder.Eval(Container.DataItem, "Description").ToString().Replace("'", "\\'")

为什么不像这样用
\'
替换
'

DataBinder.Eval(Container.DataItem, "Description").ToString().Replace("'", "\\'")

将HTML值发送到javascript函数是一种糟糕的做法。与此相反,您可以发送它的描述id,并通过AJAX call.Ravi获取描述-许多其他依赖项都与我的项目有关。为了简单起见,我没有提到这些代码。否则我就可以使用你的建议了。将HTML值发送到javascript函数是一种糟糕的做法。与此相反,您可以发送它的描述id,并通过AJAX call.Ravi获取描述-许多其他依赖项都与我的项目有关。为了简单起见,我没有提到这些代码。否则我就可以用你的建议了用户仍然可以像这样输入值。这不是安全的方法。我觉得通过ajax
用户仍然可以像这样输入值。这不是安全的方法。我感觉通过ajax传递描述id并从服务器获取内容