Jquery附加了BulletList C#控件的问题

时间:2013-04-22 19:11:02

标签: c# javascript jquery winforms

var eq = Cost/Sales;
var delimiters = "+-*/()";
var result = new Array();
var chunk = "";
var regex =  /[()*/+-]|[A-Z a-z]+|\d+/g;
var parts = eq.match(regex);
for (var i = 0; i < parts.length; i++)
{
      $("#ctl00_ContentPlaceHolder1_Destination").append('<li>'+parts[i]+'</li>');
       alert('<li>'+parts[i]+'</li>');     
}

<CTExtension:EmptyBulletedList ID="Destination" runat="Server" class="connectedSortable"></CTExtension:EmptyBulletedList>

我在javascript中有以下代码来打破数组中的值。现在我想逐个将它附加到目标id-control中,这是我的C#的子弹列表。但是上面的代码没有附加值。请帮忙!并且当我运行页面时它会创建ul标签

2 个答案:

答案 0 :(得分:0)

在运行时,#ctl00的值是否仍然相同?这看起来像是ASP.NET中的占位符,意味着实际值可能会在运行时更改。此外,当您说它没有附加值时,它会做什么。你在控制台中收到任何javascript错误吗?你收到警报了吗?

在加载后在页面上执行查看源,并确保传递JQuery选择器的ID是正确的。

我认为ControlID正在改变,因此您的选择器不再有效。

请参阅下面的小提琴,它正在运行,从一个有效的解决方案开始并进行更改直到它出现故障,然后您就会知道它出了什么问题。

http://jsfiddle.net/zWXCN/

for (var i = 0; i < 20; i++)
            {
                  $("#test").append('<li>'+i+'</li>');
                   //alert('<li>'+i+'</li>');     
            }

答案 1 :(得分:0)

通过自动生成的ASP.NET ID直接引用您的元素可能会导致问题。你能检查一下这个ID是否仍然正确(使用浏览器中的开发者工具)?

相反,你应该引用你的控件,如:

$('#<%= Destination.ClientID %>')

这意味着无论您的页面结构或ClientID的实现如何,您都将始终引用正确的控件。