Javascript 生成值列表

Javascript 生成值列表,javascript,ajax,vb.net,Javascript,Ajax,Vb.net,好的,假设此代码从第三方数据网格中获取所选行,并将其传递给代码,以便存储的进程可以在其上运行。我需要能够收集所有选定值的列表,以便一次传递所有值。我遇到了麻烦,因为每次代码循环都会删除我的前一个值列表。我正在使用Javascript从datagrid中提取值。和AJAX将其传递给vb.net function onRowSelectChange(gridID, elementID) { var grid = igtbl_getGridById("locationDetailsGr

好的,假设此代码从第三方数据网格中获取所选行,并将其传递给代码,以便存储的进程可以在其上运行。我需要能够收集所有选定值的列表,以便一次传递所有值。我遇到了麻烦,因为每次代码循环都会删除我的前一个值列表。我正在使用Javascript从datagrid中提取值。和AJAX将其传递给vb.net

function onRowSelectChange(gridID, elementID) {
        var grid = igtbl_getGridById("locationDetailsGrid");
        var rows = grid.Rows;
        var row = rows.getRowById(elementID);
        //if the row exists
        if (row != null) {
            var ID = row.getCellFromKey("Crash Type").getValue();
            //if the row is selected, add it to the selectionSet. otherwise remove it from the selectionSet
            if (row.getSelected() == false) {
                //delete the record
                selectionSet.removeRecord(ID);
            }
            else {
                //add the record
                if (selectionSet.getRecord(ID) == null) {
                 selectionSet.addRecord(ID)
                }
            }
            var crashType = selectionSet.getAllRecords()
            var crashTypeString
            var x = 0
            while (x <= crashType.length - 1) {
                if (crashTypeString == null) {
                    crashTypeString = crashType[x].getUniqueID() + "|"
                }
                else {
                    crashTypeString += crashType[x].getUniqueID() + "|"
                }
                x++;
            }
            SAMS.CounterMeasureAjaxHandler.GetRecord(crashTypeString, 1);


Public Class CounterMeasureAjaxHandler

Private _crashTypes As New List(Of String)
Public Property CrashTypes() As List(Of String)
    Get
        Return _crashTypes
    End Get
    Set(ByVal value As List(Of String))
        _crashTypes = value
    End Set
End Property

<AjaxPro.AjaxMethod(HttpSessionStateRequirement.ReadWrite)> _
Public Sub GetRecord(ByVal counterMeasureType As String)
    CrashTypes.Add(counterMeasureType)
End Sub
末级


决定做一点不同的事。这有助于解决我的问题

您能解释一下selectionSet的来源吗?我注意到您在添加之前检查选定行是否已在selectionSet中,但在删除之前不要检查未选定行是否不在selectionSet中。不确定这是否重要。老实说,选择集是我不真正理解的东西,因为我没有创建所有的代码