我正在使用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值?
由于
答案 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。正如Cybernate上面所说,生成的ID取决于标签所属的NamingContainer。