Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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
Javascript自动完成在ascx中不起作用_Javascript_C#_Asp.net_Ascx - Fatal编程技术网

Javascript自动完成在ascx中不起作用

Javascript自动完成在ascx中不起作用,javascript,c#,asp.net,ascx,Javascript,C#,Asp.net,Ascx,我在ascx文件的网格视图中有一个自动完成功能,但该自动完成功能在ascx文件中不起作用。我已经做了一些类似的自动完成在其他网页的工作。为什么自动完成在我的ascx文件中不起作用。我有一个假设,为什么它不起作用,但我不确定如何修复它 我认为问题在于javascript中的以下url url: "contratoGerencia.aspx/getSupplierAndComponente" 然而,我不知道我应该如何改变它,不要让它与ascx文件一起工作。另外,我在这里找到了一个解决方

我在ascx文件的网格视图中有一个自动完成功能,但该自动完成功能在ascx文件中不起作用。我已经做了一些类似的自动完成在其他网页的工作。为什么自动完成在我的ascx文件中不起作用。我有一个假设,为什么它不起作用,但我不确定如何修复它

我认为问题在于javascript中的以下url

      url: "contratoGerencia.aspx/getSupplierAndComponente"
然而,我不知道我应该如何改变它,不要让它与ascx文件一起工作。另外,我在这里找到了一个解决方案,这几乎是我想要的。唯一的问题是,在我的情况下,我也有一个文本框。 任何帮助都将不胜感激。我希望以下信息能对你有所帮助

这是我的ascx(ComponentController.ascx)代码


此问题可能由UpdatePanel触发,如下所述:

因此,修改autocomplete.js如下:

$(document).ready(function() {
    SearchSupplierAndComponente();
});

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function() {
    SearchSupplierAndComponente();
});



function SearchSupplierAndComponente() {
    $(".gridContractAndComponente").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "contratoGerencia.aspx/getSupplierAndComponente",
                data: "{'containedText':'" + document.getElementById('PageContent_gvPrimaryGrid_txtContractComponenteFooter').value + "'}",
                dataType: "json",
                success: function (data) {
                    response(data.d);
                },
                error: function (result) {
                    alert("Error");
                }
            });
        }
    });
}

查看控制台错误是否消失。

问题在于在AJAX中输入的参数名称,您的方法希望接收名为prefixText的参数,而不是containedText

改变

data: {'containedText':'" + document.getElementById('PageContent_gvPrimaryGrid_txtContractComponenteFooter').value + "'}


那个么,你们在控制台中得到任何JS错误吗?当您在WebMethod中执行断点时,该断点是否被Compiler命中?当我在WebMethod中添加断点时,它在WebMethod中从不停止。是的,我在控制台中发现以下JS错误autocomplete不是一个函数。我想你的问题是UpdatePanel,请尝试一下:@JuniorCortenbach该控制台错误意味着JS代码的某些部分没有正确加载。尝试将ComponentController.ascx上的脚本标记移动到主母版页。@JuniorCortenbach当然,设置可能会更简单。是的,我注意到了,但即使我更改了名为prefixText的参数而不包含文本,自动完成仍然不起作用,根据我的验证,您以正确的顺序引用了脚本,但可能是调用ascx的页面,甚至母版页,可能会重复调用某些脚本。确保您正在使用的jquery脚本没有被多次调用和加载,这可能会导致一些冲突。您是对的,我正在调用不同页面上的javascript,我将尝试删除它们,并确保我没有重复使用它们。谢谢你的建议。是的,你是对的,不同的页面反复调用导致问题的脚本。谢谢,谢谢
  <div id="ComponentesSection" class="menusection">         
        <asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Always" >
      <ContentTemplate>                   
    <TWebControl5:WebControl5 ID="Header8" runat="server" />                   
    </ContentTemplate>  
   </asp:UpdatePanel>
  </div>
$(document).ready(function () {
    SearchSupplierAndComponente();
});
function SearchSupplierAndComponente() {
    $(".gridContractAndComponente").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "contratoGerencia.aspx/getSupplierAndComponente",
                data: "{'containedText':'" + document.getElementById('PageContent_gvPrimaryGrid_txtContractComponenteFooter').value + "'}",
                dataType: "json",
                success: function (data) {
                    response(data.d);
                },
                error: function (result) {
                    alert("Error");
                }
            });
        }
    });
}
$(document).ready(function() {
    SearchSupplierAndComponente();
});

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function() {
    SearchSupplierAndComponente();
});



function SearchSupplierAndComponente() {
    $(".gridContractAndComponente").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "contratoGerencia.aspx/getSupplierAndComponente",
                data: "{'containedText':'" + document.getElementById('PageContent_gvPrimaryGrid_txtContractComponenteFooter').value + "'}",
                dataType: "json",
                success: function (data) {
                    response(data.d);
                },
                error: function (result) {
                    alert("Error");
                }
            });
        }
    });
}
data: {'containedText':'" + document.getElementById('PageContent_gvPrimaryGrid_txtContractComponenteFooter').value + "'}
data: {'prefixText':'" + document.getElementById('PageContent_gvPrimaryGrid_txtContractComponenteFooter').value + "'}