我有一个数据列表,我想列出来自Querystring的产品。它的工作原理如下:Default.aspx/?ProductID=1
我得到了一个像我想要的产品。
但我想添加更多这样的产品Default.aspx/?ProductID=1,15,25
并获得三个产品。我如何让它工作?
<asp:DataList ID="DataList1" runat="server">
<ItemStyle VerticalAlign="Top" />
<ItemTemplate>
<a href="../Product/Default.aspx?ProductID=<%#Eval("ProductID") %>">
<asp:Label ID="lblName" runat="server" Text='<%#Eval("Name") %>' />
<asp:Label ID="lblPrice" runat="server" Text='<%#Eval("Price") %>' />
</a>
</ItemTemplate>
</asp:DataList>
protected void Page_Load(object sender, EventArgs e)
{
string id = Request.QueryString["ProductID"];
DataTable table = CategoryAccess.GetList(id);
list.DataSource = table;
list.DataBind();
}
ALTER PROCEDURE GetList
@ProductID INT
AS
SELECT ProductID, Name, Price
FROM Product
WHERE (ProductID = @ProductID)
答案 0 :(得分:2)
你可以:
/page.aspx?ProductID=1&ProductID=15&ProductID=25
然后Request.Querystring("ProductID")
将返回1,15,25
然后可以将其放入类似ArrayList
Request.Querystring("ProductID").split(",")
将这3个值作为参数传递虽然有点棘手,但最好将它作为xml传递: