public async Task <IActionResult> EditData(string connectionName, string tableName, string id, int page, int tableRowIndx, string searchFields = "", string sortColumn = "", string sortDir = "") { var tableDataVM = new TableDataVM { TableList = await _util.GetTableList(connectionName), TableName = tableName, ConnectionName = connectionName }; tableDataVM.TableGroups = await _util.GetTableGroups(tableDataVM.TableList); var columnList = new List <TableColumnInfo>(); var tableDataDict = new PagedData { Data = new Dictionary <int, Row>() }; columnList = await _util.GetColumnInfo(connectionName, tableName); tableDataDict = await _util.GetTableDataList(columnList, connectionName, tableName, page); var row = tableDataDict.Data[tableRowIndx]; var tableColumnInfosJson = row.TableColumnInfosJson; var tablemetadata = await _util.GetTableMetadata(connectionName, tableName); tableDataVM.SequenceName = tablemetadata.SequenceName; tableDataVM.ColumnList = columnList; tableDataVM.TableDataList = tableDataDict; tableDataVM.RowData = await _util.GetRowData(connectionName, tableName, id, tableColumnInfosJson); tableDataVM.TableColumnInfosJson = tableColumnInfosJson; tableDataVM.SortColumn = sortColumn; tableDataVM.SortDir = sortDir; var searchFieldsArray = JsonConvert.DeserializeObject <List <SearchFieldInfo> >(searchFields); foreach (var field in searchFieldsArray) { tableDataVM.SearchValues[field.Name] = field.Value; } tableDataVM.SearchFields = searchFields; return(View(tableDataVM)); }