在end_request处理程序期间回发后无法从asp gridview检索数据

时间:2016-09-29 14:57:56

标签: javascript asp.net vb.net

过程:

用户输入参数并单击按钮,代码隐藏使用sql过程中的参数。创建一个数据表,其中包含过程结果以及具有相同结果的数组。在回发后,阵列用于填充仅包含城市名称的列表框。数据表用于在每行上填充城市名称,zip,population,lat,lng的gridview。

For i = 0 To Cities.Count - 1
    ListBox.Items.Add(Cities.Item(i)(0))
Next
GridView.DataSource = FinderTable
GridView.DataBind()

更新面板更新后,我调用一个Javascript EndRequestHandler(),其中包含列表框的onClick侦听器,以检索所选城市名称的索引。

EndRequestHandler():

$('#<%= ListBox.ClientID %>').click(function () {
    var ListElement = document.getElementById('<%= ListBox.ClientID%>');
    var GridElement = document.getElementById('<%= GridView.ClientID%>');
    var Index = ListElement.selectedIndex;
    console.log("index: " + Index)
    Lat = GridElement.rows[Index].Cells[3].value;
    Lng = GridElement.rows[Index].Cells[4].value;
    console.log("lats & lngs: " + Lat + ' ' + Lng);
});

我想要做的是让城市的纬度和城市被选中,以便当用户在列表视图中选择城市名称时,我可以将googlemap移动到所选位置。

当我点击城市名称时,我在控制台中获得索引#但我无法获得GridView

Firefox的控制台错误:

TypeError: GridElement.Rows[Index].Cells is undefined

我得到一个索引#,这似乎不是问题。

在完成的代码中,我希望能够隐藏整个gridview并仅使用其中的数据。从我一直在阅读的内容来看,在将其绑定到代码隐藏后,我应该将可见性设置为false。

答案:

单元格应为单元格(小写),而.value应为.textContent

1 个答案:

答案 0 :(得分:1)

从您的代码中可以看出,您正在编写单元格(大写&#39; C&#39;),如果需要,则需要使用小c,因为Javascript跟随骆驼套管。