[英]ASP.NET entities breaks javascript in codebehind
我正在使用HyperLink控件在代碼隱藏中執行以下操作:
hlNonTerminal.Attributes [“ onclick”] = string.Format(“ highlightTokenUsage('{0}');”,nonTerminal);
但是'字符被asp.net替換,因此瀏覽器得到:
<a id="..." onclick="highlightTokenUsage('CITY');">城市</a>
如何關閉或繞過它? 這發生在用戶控件內部,但是包含它的頁面具有ValidateRequest =“ false”。
編碼機制(可能)是在AttributeCollection類的基礎Render方法中正確實現的,因此重寫服務器控件並修改呈現邏輯將對此進行更改。 但是,我強烈建議您不要這樣做,因為當前的實現效果很好。
您向我們顯示的<a id="..." onclick="highlightTokenUsage('CITY');">CITY</a>
鏈接非常有效。 '
在調用highlightTokenUsage方法之前,代碼會解碼為'字符,因此對您沒有任何危害。
順便說一句,請注意,通過后面的代碼進行這種屬性操縱(實際上是將HTML和JavaScript代碼混合在一起)違反了“ Unobtrusive Javascript ”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.