怎樣獲得Datalist的項模版裏面被單擊某控件名的值

我用C# asp.net2.0  我用datalist控件來顯示不同商家的信息,當我單擊某個商家imagebutton,想得到它的商家名,然後在另外一頁顯示更俱體的信息.   好多網友給我回復都不大行:

<asp:DataList ID="DataList1" runat="server" OnItemCommand="DataList1_ItemCommand">     <ItemTemplate>         <asp:Label ID="Label1" runat="server" Text='<%# Eval("yourField") %>'></asp:Label>         <asp:ImageButton ID="ImageButton1" runat="server" CommandName="XXX"/>     </ItemTemplate> </asp:DataList> protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) {     if (e.CommandName == "XXX")     {         Response.Write((e.Item.FindControl("Label1") as Label).Text);     } }

想得到它的商家名,然後在另外一頁顯示更俱體的信息. --------------------------------------- 商家肯定有唯一ID吧,如果你想面通過商家ID來顯示具體信息,那麼還有個辦法就是: <asp:DataList ID="DataList1" runat="server" DataKeyField="商家ID"             DataSourceID="SqlDataSource1" onitemcommand="DataList1_ItemCommand"> 後臺代碼中DataList1.SelectedValue返回的就是商家ID,你可以通這個再進行進一步操作。

加上CommandArgument=' <%# Eval("商家ID") %>' 然後在ItemCommand裏Convert.ToInt32(e.CommmandArgument)來取得商家ID。

最後本人用下面這方法,成功:

<asp:ImageButton ID="Imgbt1" runat="server"                                 Height="70px" ImageUrl=' <%# DataBinder.Eval(Container.DataItem,"shoppiture","Images/{0}") %>'                                 Width="82px" CommandArgument=' <%# DataBinder.Eval(Container.DataItem,"shopname") %>' PostBackUrl=' <%# "~/Shopmanage/ShopShow.aspx?shopname="+DataBinder.Eval(Container.DataItem,"shopname") %>' /> </td>                         <td style="width: 85px; height: 24px">

發佈了57 篇原創文章 · 獲贊 6 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章