怎样获得Datalist的项模版里面被单击某控件名的值

来源:互联网 发布:airpods连接mac 编辑:程序博客网 时间:2024/05/02 08:58

我用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">

原创粉丝点击