如何通过Javascript传递.net标签中的值

时间:2011-04-15 20:44:00

标签: javascript ado.net

我正在使用c#和javascript进行编码,我在通过javascript .js文件设置值时遇到了一些问题,以便在后面的代码中使用它。

这是.js文件代码

$(document).ready(function() {


$('#example1').ratings(10).bind('ratingchanged', function(event, data) {
    $('#examplerating1').text(data.rating);
$('#lblRating').text(data.Rating);

  });

这是html页面代码。

 Your Rating: <span id="examplerating1">not set</span>
            <asp:Label ID="lblRating" runat="server" Text="Label"></asp:Label>

现在,如果我不使用runat="server",则可以正确设置范围值。现在为了访问后面的代码中的值,我试图把它放在标签中。但是标签中没有设置该值。如何在传递HTML页面的代码中使用data.rating值?

由于

2 个答案:

答案 0 :(得分:1)

ASP.Net控件ID根据NamingContainer进行更改。

将jQuery更改为:

$(document).ready(function() {
   $('#example1').ratings(10).bind('ratingchanged', function(event, data) {
    $('#examplerating1').text(data.rating);
    //Notice the change in the selector here.
    $('[id$="_lblRating"').text(data.Rating);

  });

答案 1 :(得分:0)

检查其余代码。如果您的标签位于另一个.NET控件(如母版页)中,则.NET生成的范围ID与您在.aspx文件中指定的ID不同。例如,如果它位于名为ContentPlaceHolder1的Content控件内,则ID将为ctl00_ContentPlaceHolder1_lblRating。正如Cyber​​nate上面所说,生成的ID取决于标签所属的NamingContainer。