2013-02-28 59 views
1

方案: - 我有一個數據列表,加載了幾張圖片。每個圖像都有自己獨特的sting屬性(「描述」),它是從數據庫查詢中加載的。現在,當鼠標懸停在任何圖像上時,它會調用已定義的OnClinetClick JS函數。這就是JS函數的參數綁定當前鼠標懸停圖像的「描述」。 (請參見代碼)帶單引號字符串的DataBind不調用javaScript函數

問題: -每當「說明」有一個單引號在裏面,「demoJS」不called.But如果相同的「描述」了(當然世界最佳)。正常字符串(例如世界最佳),「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> 
+0

這是不好的做法,將HTML值發送到javascript函數。代替這一點,您可以發送它的描述ID並通過AJAX調用獲取描述。 – 2013-02-28 12:04:47

+0

Ravi - 許多其他依賴項都與我的項目有關,與我的問題有關。爲了簡化問題,我沒有提到這些代碼。否則,我可以使用你的建議。 – Kings 2013-02-28 12:23:20

回答

1

爲什麼不直接替換'\'這樣?

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

'&#x2018;'用戶仍然可以輸入像這樣的值。這不是安全的做法。我感覺通過描述ID並通過ajax – 2013-02-28 12:23:37

+0

YOGI ..從服務器獲取內容..感謝很多。有效。 – Kings 2013-02-28 12:42:42