У меня есть DataGrid, который динамически привязывается к запросу базы данных.Пользователь вводит некоторый текст для поиска в текстовое поле, нажимает кнопку поиска, а код позади создает соответствующий запрос к базе данных с помощью LINQ (выполняет поиск в таблице на основе строки и возвращает ограниченный набор столбцов).
Itзатем устанавливает источник данных GridView в качестве запроса и вызывает DataBind ().
protected void btnSearch_Click(object sender, EventArgs e)
{
var query = from record in DB.Table
where record.Name.Contains(txtSearch.Text) //Extra string checking etc. removed.
select new
{
record.ID,
record.Name,
record.Date
};
gvResults.DataSource = query;
gvResults.DataBind();
}
Это прекрасно работает.
Когда пользователь выбирает строку в сетке, обработчик события SelectedIndexChanged получаетid из строки в сетке (одно из полей) запрашивает полную запись из БД, а затем заполняет набор полей редактора / сведений полными сведениями о записях.
protected void gvResults_SelectedIndexChanged(object sender, EventArgs e)
{
int id = int.Parse(gvResults.SelectedRow.Cells[1].Text);
DisplayDetails(id);
}
Это прекрасно работает намоя локальная машина, где я разрабатываю код.На рабочем сервере, однако, функция вызывается успешно, но количество строк и столбцов на gvResults
, griview равно 0 - таблица пуста.
Состояние просмотра gridview включено, и я не вижуочевидные различия.Я сделал некоторые наивные предположения, или я полагаюсь на что-то, что, вероятно, будет настроено по-другому в отладке?
Локально я запускаю пустой веб-проект asp.net в VS2008, чтобы ускорить разработку.На производственном сервере работает CMS sitecore, поэтому он настроен несколько иначе.
Любые мысли и предложения приветствуются.Заранее спасибо!