【发布时间】:2021-12-03 23:55:13
【问题描述】:
我正在开发食堂管理系统,我使用gridview 从数据库中显示menuList,如下所示..(这是Menu.aspx 页面)
<asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" OnItemCommand="DataList1_ItemCommand">
<ItemTemplate>
<table class="nav-justified" style="height: 111px">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("menuName") %>'></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:ImageButton ID="ImageButton1" runat="server" CommandName="viewDetail" CommandArgument='<%# Eval("Id") %>' ImageUrl='<%# Eval("menuImage") %>' />
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("menuPrice") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
<br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Cms_AspFormsConnectionString %>" SelectCommand="SELECT [menuName], [menuPrice], [menuImage], [Id] FROM [menuInfo]"></asp:SqlDataSource>
这是Menu.aspx.cs页面
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if ( e.CommandName == "viewDetail" )
{
Response.Redirect("MenuDetails.aspx?Id=" + e.CommandArgument.ToString());
}
}
但是当我运行它时,它什么也没显示,(当我转到源页面时,它都是空的,如下所示..)
<div>
<br />
</div>
为什么它显示为空?以及如何解决这个问题?
【问题讨论】:
-
好吧,在您的事件代码中,debug.print e.commandArugment 在您跳转到其他页面之前是否显示任何值?如果您在 url 中手动输入 id,其他页面是否有效??
标签: c# asp.net gridview datalist