[Hỏi]Cách lấy giá trị của 1 control trong Datalist


Từ: 23:13 06/09/2013
Bài: 4
Cảm ơn: 0
Thích: 0

Cho mình hỏi là khi muốn lấy một giá trị của 1 control trong datalist như thế nào , khi  dùng dropdownlist để lọc thì các giá trị lấy bằng cách như thế này không còn đúng nữa :

protected void Item_Command(object source, DataListCommandEventArgs e)
{


if (e.CommandName == "Select")
{
Label labelPkID = (Label)e.Item.FindControl("pkID");
int itemID = Convert.ToInt32(labelPkID.Text);
Label labelFkID=(Label)e.Item.FindControl("fkID");
int catID=Convert.ToInt32(labelFkID.Text);
Response.Redirect(string.Format("~/ProductDetails.aspx?itemID={0}&catID={1}", itemID,catID));

}
}

Label
Từ: 10:39 21/09/2012
Bài: 33
Cảm ơn: 30
Thích: 10

Bạn ơi, sao lọc giá trị mà lại là sự kiện Item_command nhỉ?

Tưởng chỉ có 1 cái dropdown list để lọc, nằm ngoài DataList thôi chứ?

Label
Từ: 23:13 06/09/2013
Bài: 4
Cảm ơn: 0
Thích: 0

Tức là sau khi dùng dropdownlist để lọc dữ liệu, thì mình dùng hàm này để lấy các giá trị của control trong datalist không còn đúng nữa, chứ ko phải hàm này xử lí sự kiện thay đổi lựa chọn của dropdownlist

Label
Từ: 15:48 01/06/2012
Bài: 125
Cảm ơn: 147
Thích: 25

Em có thể cho mã của DataList này lên không, nhìn mã đó sẽ dễ phân tích vâns đề để tìm nguyên nhân.

Theo nội dung của sự kiện trên, em chỉ cần Eval ra 1 hyperlink/thẻ A là đủ, không cẫn dùng đến 1 sự kiện đâu

Label
Từ: 23:13 06/09/2013
Bài: 4
Cảm ơn: 0
Thích: 0

<asp:DataList ID="_dataList" runat="server"    CellPadding="10" CellSpacing="10" OnItemCommand="Item_Command" >       

<ItemStyle BorderColor="Black" BorderWidth="2" BorderStyle="Solid" HorizontalAlign="Center" />        <ItemTemplate>       

<asp:Label ID="pkID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Pk_HangID") %>'         Visible="false" CommandName="itemID"></asp:Label>     

  <asp:Label ID="fkID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Fk_NhomID") %>'         Visible="false"></asp:Label>         

  <asp:LinkButton ID="lblTen" runat="server"             Text='<%# Eval("TenHang") %>' CommandName="Select" onclick="lblTen_Click">            </asp:LinkButton>         

  <br />         

  <asp:Image ID="img" runat="server" Height="100px"                 ImageUrl='<%# DataBinder.Eval(Container.DataItem,"TenfileAnh") %>' Width="100px"/>       

    <br />            <asp:Label ID="Label1" runat="server" Text='<%# Eval("GiaNiemyet") %>'            ForeColor="Red"></asp:Label>           

</ItemTemplate>   

</asp:DataList>

Đây thưa thầy :D

Label
Từ: 15:48 01/06/2012
Bài: 125
Cảm ơn: 147
Thích: 25

Trong linkButton lblTen, em đang đăng kí với hàm lblTen_click kìa.

hoặc em bỏ sự kiện đó đi hoặc chỉ cần kết xuất ra 1 asp:HyperLink hoặc

<a href='...?pid=Eval("id của product")&cid=Eval("id category")'>....</a>

Label
Từ: 23:13 06/09/2013
Bài: 4
Cảm ơn: 0
Thích: 0

Cám ơn thầy em làm được rồi ợ  :D