我有一个aspx页面,其中有一个gridview,在这个gridview中我添加了一个datalist,所以对于每一行我想要一个datalist,基本上该行包含一个图像,并且在datalist中我想显示有关图片的某些详细信息,例如,一张卡车的照片,我想在数据列表中显示价格、年份等……所有这些数据都在数据库表中。
表库存设计:
Image,
Make,
Model,
Price,
Year,
ID--primary key
此时我在gridview中显示图像,但datalist显示网格每一行的表中的所有行我想要的只是显示描述当前行图像的数据. 例如,第一行应该只显示 ID = "15" 的数据列表中的数据,第二行 ID = "16" 的数据,依此类推。
在填充数据列表的 SQLDataSource 的 SelectCommand 中,我试图传递“WHERE ID = @ID”参数并从代码隐藏页面获取它,以便我可以操作数据并仅显示与图像相对应的数据而不是每行中的所有数据一遍又一遍。
<asp:GridView ID="GridView1" runat="server"
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
SelectCommand="SELECT [ID], [Make], [Model], [Year], [Price] FROM [Inventory]
WHERE ID = @ID" OnLoad = "SqlDataSource1_Load"
OldValuesParameterFormatString="original_{0}"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>">
</asp:SqlDataSource>
这就是我想要的,代码隐藏
public partial class Inventory : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataList DataList1;
protected void Page_Load(object sender, EventArgs e)
{
}
public void SqlDataSource1_Load(object sender, EventArgs e)
{
SqlDataSource1.SelectParameters.Add(new Parameter("ID", this would be where my ID
should = the id of the image);
}
}