2015-11-06 51 views
1

我正在處理綁定事件的asp.net應用程序事件。在數據表中分配的會話中有一些值。現在我想要的是,如果綁定列表視圖和會話ProductID中的ProductID匹配按鈕應該被禁用。這是我的代碼來綁定列表視圖。如何在使用ASP.net的Listview Itemdatabound事件中獲取輸入類型按鈕?

dt = new ProductImages().SelectProductsWithImages(); 

if (dt.Rows.Count > 0) 
{ 
    ListFeatured.DataSource = dt; 
    ListFeatured.DataBind(); 
} 

在ListView有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

爲了訪問這個按鈕在服務器端,您必須在按鈕標記中使用'runat =「server」'。 – Hassan

回答

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"); 
+0

是的,它的工作原理正確。有沒有辦法使用jQuery來訪問這個按鈕? –

+0

是的,你可以使用jquery訪問它,但是你需要提供一些你想要訪問它的信息。 – Prabhat

+0

實際上對於每個產品詳細信息都有一個按鈕。可能有多個產品,並且針對該列或行中有一個按鈕。當我點擊按鈕時,與該按鈕相關的產品應該被提交到數據庫,並且適當的按鈕應該被禁用,以便用戶不能點擊該按鈕。我怎麼能做到這一點。 –

相關問題