C# 在asp.net中使用实体框架的repeater

C# 在asp.net中使用实体框架的repeater,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我正在实体框架中使用repeater。我想显示数据库中的所有项目,并选择其中一个项目并将其发送到另一个页面。我从数据库中获取所有项目没有问题,但无法将其发送到另一个页面。这是我的repeater代码 <asp:Repeater ID="Repeatersearch" runat="server"> <ItemTemplate> <li>

我正在实体框架中使用repeater。我想显示数据库中的所有项目,并选择其中一个项目并将其发送到另一个页面。我从数据库中获取所有项目没有问题,但无法将其发送到另一个页面。这是我的repeater代码

<asp:Repeater ID="Repeatersearch" runat="server">
                    <ItemTemplate>
                       <li>
                    <div class="product">
                        <a class="info">                            
                            <span class="holder">
                                <img id="Image1" src="PerfumeImages/<%#Eval("Image") %>" />
                                <span class="book-name">
                                    <%#Eval("Name") %><br />
                                </span>                                 
                                <span class="description">
                                     <%#Eval("CGender") %><br />
                                     <%#Eval("Size") %> ml<br />
                                     <%#Eval("Stock") %> stock left<br />
                                </span>
                            </span>
                        </a>
                        <a class="buy-btn"><asp:Button ID="btnProduct1Addtocart" runat="server" Text="Add to cart" onClick="btn_addCart" /><span class="price"> <%#Eval("Price") %><span class="low">TL</span></a>
                    </div>
                </li>                        
                    </ItemTemplate>
                </asp:Repeater>      
我不知道我应该写些什么,在我用问号标出的地方。这是我在接收者页面上的代码

protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = Request.QueryString["Id"];
    }

谢谢您的帮助。

首先将您的按钮更改为此。它添加了
CommandName
(在本例中,这是完全可选的)和
CommandArgument
来保存
id

<asp:Button ID="btnProduct1Addtocart" runat="server" Text="Add to cart" onClick="btn_addCart" CommandName="AddToCart" CommandArgument="<%#Eval("CGender") %>" />

如果您只需要转到单个项目的另一个页面,请单击您只需要在中继器控件中使用所需的url,如下所示:

     <asp:Repeater ID="Repeatersearch" runat="server">
       <ItemTemplate>
         <li>
           <div class="product" >
              <a class="info" href='<%: ResolveUrl("~/Detaild.aspx?Id=" + Eval("Id"))%>'>             
                        //the rest of your code...
                    </a>
                </div>
            </li>                        
                </ItemTemplate>
            </asp:Repeater>      



您需要将productId发送到另一个页面,并使用productId从数据库中获取所需信息。我可以随身携带,但我不知道如何将productId发送到另一个页面@alishahrokhi只需将代码发送给您@user3173750即可
protected void btn_addCart(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    if (btn.CommandName == "AddToCart")
    {
        //Now you have the id to use in your code here
        var id = btn.CommandArgument;

    }
}
     <asp:Repeater ID="Repeatersearch" runat="server">
       <ItemTemplate>
         <li>
           <div class="product" >
              <a class="info" href='<%: ResolveUrl("~/Detaild.aspx?Id=" + Eval("Id"))%>'>             
                        //the rest of your code...
                    </a>
                </div>
            </li>                        
                </ItemTemplate>
            </asp:Repeater>