如何使用ASP.net在Listview Itemdatabound事件中获取输入类型Button
本文关键字:获取 输入 类型 Button 事件 Itemdatabound ASP 何使用 net Listview | 更新日期: 2023-09-27 18:20:45
我正在处理一个asp.net应用程序事件,我正在绑定事件。会话中有一些值,我已经在datatable中分配了这些值。现在我希望,如果绑定的列表视图和会话ProductID中的ProductID匹配,那么按钮应该被禁用。这是我绑定Listview的代码。
dt = new ProductImages().SelectProductsWithImages();
if (dt.Rows.Count > 0)
{
ListFeatured.DataSource = dt;
ListFeatured.DataBind();
}
在列表视图中有一个html类型的按钮,如:
<input type="button" class="button_type_4 bg_scheme_color r_corners tr_all_hover color_light mw_0 m_bottom_15"
value="Add to Cart" id="btnCart" onclick="Cart(this);" />
我想访问这个按钮。为了访问这个按钮,我使用了以下
protected void ListFeatured_ItemDataBound(object sender, ListViewItemEventArgs e)
{
try
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
Label lblpid = (Label)e.Item.FindControl("lblPid");
long pid = Convert.ToInt64(lblpid.Text);
Control btnCart = (Control)e.Item.FindControl("btnCart");
var b = e.Item.FindControl("btnCart");
DataRow[] row = dtDetails.Select("ProductID=" + pid);
if (row.Length > 0)
{
//b.Visible=
}
}
}
catch (Exception ex)
{
throw (ex);
}
}
但是输入类型的按钮的值总是为null。请帮我这里的人。
您需要通过添加runat="server"
将此html按钮作为服务器控件
<input type="button" runat="server" class="button_type_4 bg_scheme_color r_corners tr_all_hover color_light mw_0 m_bottom_15" value="Add to Cart" id="btnCart" onclick="Cart(this);" />
在后面的代码中,您可以通过将该控件强制转换为HtmlInputButton
类来找到该控件
HtmlInputButton btnCart = (HtmlInputButton)e.Item.FindControl("btnCart");