Динамическая привязка источника данных к gridview

Я получаю сообщение об ошибке для этого кода С#

if (radioAll.Checked)
{
       SqlDataSource DataSource2 = new SqlDataSource();
       DataSource2.ID = "SqlDataSource2";
       this.Page.Controls.Add(DataSource2);
       DataSource2.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["SEP_Project_NewConnectionString2"].ConnectionString;
       DataSource2.SelectCommand = "SELECT courseNo,title from Course";
       gridview_modules.DataSource = DataSource2;
       gridview_modules.DataBind();
}

Ошибка выглядит следующим образом: введите здесь описание изображения

Строка подключения в порядке. Как исправить эту ошибку?


person chathura    schedule 11.07.2013    source источник
comment
Так как я сейчас на работе, я не могу видеть изображение. Не могли бы вы опубликовать ошибку в виде текста?   -  person Soner Gönül    schedule 11.07.2013
comment
Не удалось определить MetaTable. Метатаблица не может быть определена для источника данных '', и ее нельзя вывести из URL-адреса запроса. Убедитесь, что таблица сопоставлена ​​с источником данных или источник данных настроен с допустимым типом контекста и именем таблицы или что запрос является частью зарегистрированного DynamicDataRoute.   -  person chathura    schedule 11.07.2013


Ответы (2)


Вы должны выбрать что-то из своего SqlDataSource

gridview_modules.DataSource = DataSource2.Select(DataSourceSelectArguments.Empty);
gridview_modules.DataBind();
person gzaxx    schedule 11.07.2013
comment
Спасибо за ответ, я изменил столбцы на BoundField, и это сработало. - person chathura; 11.07.2013

Изменены поля столбца gridview

Раньше было так,

<Columns>
  <asp:DynamicField HeaderText="Course No" />
  <asp:DynamicField HeaderText="Title" />
</Columns>

тогда я изменился вот так,

<Columns>
 <asp:BoundField DataField="courseNo" HeaderText="Course No" />
 <asp:BoundField DataField="title" HeaderText="Title" />
</Columns>
person chathura    schedule 11.07.2013