#c# #asp.net #gridview #datalist
Вопрос:
Я разрабатываю Систему управления столовой, в которой я отображаю menuList
данные из базы данных, используя gridview
, как показано ниже.. ( это Menu.aspx
страница)
lt;asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" OnItemCommand="DataList1_ItemCommand"gt; lt;ItemTemplategt; lt;table class="nav-justified" style="height: 111px"gt; lt;trgt; lt;tdgt; lt;asp:Label ID="Label1" runat="server" Text='lt;%# Eval("menuName") %gt;'gt;lt;/asp:Labelgt; lt;/tdgt; lt;/trgt; lt;trgt; lt;tdgt; lt;asp:ImageButton ID="ImageButton1" runat="server" CommandName="viewDetail" CommandArgument='lt;%# Eval("Id") %gt;' ImageUrl='lt;%# Eval("menuImage") %gt;' /gt; lt;/tdgt; lt;/trgt; lt;trgt; lt;tdgt; lt;asp:Label ID="Label2" runat="server" Text='lt;%# Eval("menuPrice") %gt;'gt;lt;/asp:Labelgt; lt;/tdgt; lt;/trgt; lt;/tablegt; lt;/ItemTemplategt; lt;/asp:DataListgt; lt;br /gt; lt;asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="lt;%$ ConnectionStrings:Cms_AspFormsConnectionString %gt;" SelectCommand="SELECT [menuName], [menuPrice], [menuImage], [Id] FROM [menuInfo]"gt;lt;/asp:SqlDataSourcegt;
Это Menu.aspx.cs
страница
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { if ( e.CommandName == "viewDetail" ) { Response.Redirect("MenuDetails.aspx?Id=" e.CommandArgument.ToString()); } }
но когда я запускаю это, это ничего не показывает ( когда я перехожу на исходную страницу, все было пусто, как показано ниже..)
lt;divgt; lt;br /gt; lt;/divgt;
Почему он показывает пустоту? и как это решить?
Комментарии:
1. Итак, в вашем коде событий отображается ли параметр debug.print e.commandArugment какое-либо значение перед переходом на другую страницу? и если вы введете идентификатор вручную в URL-адрес, будет ли работать другая страница??
Ответ №1:
Добавьте DataSourceID=»SqlDataSource1″ в тег DataList. Источник данных не был задан для элемента управления.