2010-07-07 3 views
0

Я пытаюсь добавить функцию Javascript в событие onLoad asp: Panel. Это звучит примерно так:Добавление функции onload для клиентов в элемент управления ASP.NET в 4.0 кодирует мои кавычки

string clickFunction = "$('[id*=lblHiddenPageArray]').text('');" 

PagesPanel.Attribues.Add("onLoad", clickFunction); 

Я прилагаю эту функцию для других элементов управления (галочки и кнопки), и это работает прекрасно. Но в PagesPanel (мой asp: Panel control) он HTMLEnкодирует эту функцию. Источник Результат выглядит следующим образом:

onLoad="$('[id*=lblHiddenPageArray]').text(''); 

Я пытался Server.HTMLDecode его на уступки, но я получаю то же самое. Я столкнулся с этим раньше в .net 4.0. Неужели есть способ избежать персонажей или что-то еще?

ответ

0

Я думаю, что это правильное поведение. Перед запуском значения атрибута не кодируются браузером. Простой пример:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>foo</title> 
    </head> 
    <body onload="alert(&#39;foo&#39);"> 
     <p>foo</p> 
    </body> 
</html> 

Только в случае, если вы по какой-то причине не может не-HTML-кодировать вещи в вашей голове ;-), Firebug в Firefox, инспектор WebKit в Safari и Chrome и Dragonfly в Opera сделают это для вас автоматически.