2009-09-16 2 views
0

У меня возникли проблемы с использованием JQuery внутри ASP.Net User Control Я создал образец, и вот разметка для моего пользовательского элемента управления:JQuery в ASP.Net пользовательского элемента управления в C#

<%@ Control Language="C#" ClassName="UC" AutoEventWireup="true" 
    CodeFile="UC.ascx.cs" Inherits="UserControls_UC" %> 

<span id="Licenses"></span> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     var ctlID = $("span[id$='Licenses']"); 
     ctlID.text = "Testing"; 
    }); 
</script> 

Если Я включаю этот скриптовый тег <script type="text/javascript" src="js/jquery-1.3.2.js" /> в файл aspx, содержащий пользовательский элемент управления для ссылки JQuery, ничего не происходит. Если я не включаю его, я получаю диалоговое окно с ошибкой JavaScript, в котором говорилось о ошибке выполнения и ожидалось, что объект будет ожидаться. Любые идеи, что я могу делать неправильно?

+0

Что произойдет, если вы пытаетесь вызвать '$ (" диапазон [ id $ = 'Licenses'] ")' из консоли FireBug? Это работает? –

+0

Является ли 'js/jquery-1.3.2.js' правильный путь относительно страницы' aspx'? Скрипать это, или лучше Firebug это. –

+0

Я включил ссылку на js/jquery-1.3.2.js в тег

0

Вы правильно включили библиотеку jquery на главной странице?

Разве это не означает, что доллар перед id, т. Е. $id='Licenses'? или даже #

0

Префикс «$» к идентификатору получает все элементы, которые заканчиваются на «Лицензии».

Сделайте быструю замену, чтобы проверить это на «#», и вы получите ровно один элемент.

$(document).ready(function() { 
     var ctlID = $("#Licenses"); 
     ctlID.text = "Testing"; 
    }); 

Чтобы заставить его работать с селектором атрибута попробовать

$('span[@id=Licenses]') // You can omit the @ in the latest version of jquery. 
0

Я думаю, вы должны использовать что-то вроде этого:

var ctlID = $("span[id$='Licenses']").get(0); 
ctlID.text = "Testing";