У меня возникли проблемы с вызовом функции jquery из элемента управления asp.net treenode. Вот код treenode в файле aspx. Метод, который я использую, заключается в том, чтобы поместить ссылку javascript в атрибут «navigateUrl».Вызов JQuery из ASP.NET treenode в IE
Ниже приведен код:
<asp:TreeNode Value="Level1"
NavigateUrl="javascript:$('#mainContentContainer').load('report.aspx?level=1');"
Text="Level 1"
Target="Content"
expanded="false">
Это отлично работает в хроме. Содержимое report.aspx загружается в div mainContentContainer, как и ожидалось, когда я нажимаю на treenode «Уровень 1».
В Internet Explorer, однако (v8 и 9), он просто открывает другое окно браузера и пытается загрузить ссылку JavaScript, как если бы это был URL. По какой-то причине в адресной строке отображается только эта часть ссылки: «javascript: $ (« »и окно содержимого дает эту ошибку« Internet Explorer не может отображать веб-страницу »
Я искал эту проблему и все решения I найденный предлагал либо использовать атрибут «OnClick», чтобы сделать вызов JavaScript, либо установить «целевой» атрибут «element to» _self »
Ни один из этих вариантов не работал для меня. Я не могу дать тегу" OnClick ", потому что он не является допустимым атрибутом для этого элемента управления asp.net.
Тип 'System.Web.UI.WebControls.TreeNode' не имеет открытого свойства с именем 'onclick' - ошибка, которая появляется в браузере (возвращается как стандартная веб-страница с ошибкой .net)
Я пробовал параметр target = "_ self", и единственным изменением было то, что вместо открытия нового окна браузера с ошибкой. Текущий браузер просто покажет [объект объекта] без каких-либо изменений в адресной строке.
Еще одно решение, которое я прочитал, - это поставить «retun false» после вызова javascript, но это дает ошибку «return statement вне функции» javascript.
Пожалуйста, дайте мне знать, если есть решение для вызова jquery.load из asp.net treenode control.