我正在开发一个asp.net应用程序事件,我正在绑定事件。我在数据表中分配的会话中有一些值。现在我希望如果绑定列表视图中的ProductID和会话ProductID匹配按钮应该被禁用。这是我的Bind 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);
}
}
但输入类型的按钮值始终为空。请帮助我一个人。
答案 0 :(得分:1)
您需要通过添加runat="server"
<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");