Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将元素的ID从jQuery传递给C#web服务(使用JSON)_C#_Asp.net_Jquery_Web Services_Listview - Fatal编程技术网

将元素的ID从jQuery传递给C#web服务(使用JSON)

将元素的ID从jQuery传递给C#web服务(使用JSON),c#,asp.net,jquery,web-services,listview,C#,Asp.net,Jquery,Web Services,Listview,我有一个包含一个div的列表,jQuery将这些div转换为进度条。在.ready上,我构建了一个所有这些进度条的列表,并为每个进度条调用一个Web服务,该服务获取一个值,该值指示进度条应该有多满。为此,我需要将div的ID传递给web服务 因为div在ListView中,所以我手动将id设置为id=“completionbar\ux” 然而,当我将这个id传递到我的web服务中时,每次都显示为“未定义”。当我查看源代码时,它看起来设置正确 以下是调用我的web服务的jQuery: <sc

我有一个包含一个div的列表,jQuery将这些div转换为进度条。在.ready上,我构建了一个所有这些进度条的列表,并为每个进度条调用一个Web服务,该服务获取一个值,该值指示进度条应该有多满。为此,我需要将div的ID传递给web服务

因为div在ListView中,所以我手动将id设置为id=“completionbar\ux”

然而,当我将这个id传递到我的web服务中时,每次都显示为“未定义”。当我查看源代码时,它看起来设置正确

以下是调用我的web服务的jQuery:

<script type="text/javascript" language="javascript">
$(document).ready(function() {
    $(".MilestoneCompletion").progressbar({ value: 0 });
    $.each($(".MilestoneCompletion"), function(index, barDiv) {
        $.ajax({
            type: "POST",
            url: "ProjectTracking.aspx/GetText",
            data: "{'id':'" + $(barDiv).id + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            async: true,
            success:
                function(msg) {
                    $(barDiv).progressbar("value", msg.d);
                }
        });
    });
});
</script>
下面是我在ListView中设置div的id的地方:

<ItemTemplate>
<li class="ui-widget-content" >
...
<!-- when this div loads, I want to call my webservice -->
<div id="completionbar_<%# Eval("MilestoneID") %>" class="MilestoneCompletion" style="height:30px;"></div>
...
</li></ItemTemplate>

  • ... ...
  • 我在想,脚本可能是在ListView数据绑定设置DIV id之前执行的


    我能解决这个问题吗?或者我的方法根本上有缺陷吗?

    不确定它是否与您的问题有关,但我认为应该是:

    更新:您只需传入一个
    函数(索引)
    ,然后在函数中使用
    引用div:

    $(".MilestoneCompletion").each(function(index) {
        ...
        $(this).progressbar("value", msg.d);
    

    $(barDiv).attr('id')

    我应该提到,这将正确地将每个进度条填充到75%。这是一个常见的问题。我无法告诉您有多少次我认为自己可以在jQuery对象上获得
    .id
    。是的,肯定与您的问题无关:)
    $(".MilestoneCompletion").each(function(index) {
        ...
        $(this).progressbar("value", msg.d);