我有一个asp.net应用程序,其主文件包含jquery.js文件。
然后我有另一个页面使用这个母版页,然后有它自己的jquery代码。
现在我尝试将此代码移动到外部文件,然后将该文件包含在我的.aspx文件中,该文件应该可以正常工作,而且部分可以。它会触发按钮点击等,但是一旦它到达我的ajax调用,.js文件就会失败。
ajax函数如下所示:
function setGridData() {
startNumber = (pageNumber * displayCount) + 1;
endNumber = (pageNumber + 1) * displayCount;
return $.ajax({
url: '../WebServices/GridViewService.asmx/CreateViewHtmlFromObjectType',
data: '{ "queryType": "' + $("#<%= ObjectType.ClientID %>").val() + '", "pageNr": ' + pageNumber + ', "displayCount": ' + displayCount + ', "searchKeys": "' + searchKeys + '", "searchValues": "' + searchValues + '", "orderBy": "' + OrderBy + '", "orderColumn": "' + OrderColumn + '" }',
type: 'POST',
contentType: 'application/json',
dataType: "json",
cache: false
}).done(function (data) {
objectCount = data.d[1];
$("#<%= SearchBoxes.ClientID %>").val(data.d[2]);
searchKeys = data.d[2];
refreshGrid(data.d[0]);
setPrevSrchStates();
});
}
所以让我说我这样做:
$(document).ready(function () {
//load initial data
setGridData();
}
当我将其移回实际文件时,此代码完全正常,因此我不确定发生了什么。
我一直在阅读,因为我读过大多数类似的情况并不是因为实际的js代码。那么,如果它不是那么它是什么?我该如何解决?
答案 0 :(得分:1)
$(&#34;#&lt;%= SearchBoxes.ClientID%&gt;&#34;)
ClientID无法在外部Javascript文件中使用。
您可以在Aspx页面中设置ClientIDMode = Static
并直接访问Id
为$("#SearchBoxes")
。
更新所有此类案件。 希望这会有所帮助。