2012-11-22 93 views
1

我想獲取標籤的文本值。這個標籤放在gridview中。然後,我怎麼能通過Jquery獲得它的按鈕點擊值。該按鈕也放置在gridview中。如何通過jquery獲取gridview中標籤的文本值

這裏是我的代碼:

<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false"> 
          <Columns> 
           <asp:TemplateField HeaderText="ID"> 
            <ItemTemplate> 
             <asp:Label ID="lblBEid" Text='<%# Eval("BusinessEntityID") %>' runat="server" /> 
            </ItemTemplate> 
           </asp:TemplateField> 
           <asp:TemplateField HeaderText="Name"> 
            <ItemTemplate> 
             <asp:Label ID="lblName" Text='<%# Eval("FirstName") %>' runat="server" /> 
            </ItemTemplate> 
           </asp:TemplateField> 
           <asp:TemplateField HeaderText="Modified Date"> 
            <ItemTemplate> 
             <asp:Label ID="lblDate" Text='<%# Eval("ModifiedDate") %>' runat="server" /> 
             <asp:LinkButton ID="lnk" Text="Click Here" runat="server" OnClientClick="getValue();" /> 
            </ItemTemplate> 
           </asp:TemplateField> 
          </Columns> 
         </asp:GridView> 

請幫我傢伙。提前致謝。

+0

您添加CSS名稱的標籤,然後將更加穩定被點擊的點,您會找到第一個tr父元素,然後是該tr元素後面帶有該css名稱的第一個標籤。 – Aristos

+0

你可以發佈呈現的html嗎? –

回答

0

您需要RowDataBound您可以訪問由asp.net創建的每一行的事件。

在後面的代碼

protected void gvCustomers_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if ((e.Row.RowType == DataControlRowType.DataRow)) 
    { 
     LinkButton lnk = (LinkButton) e.Row.FindControl("lnk"); 
     Label lblName= (Label) e.Row.FindControl("lblName");      
     lnk.Attributes.Add("onclick", "getValue(" + lblName.ClientID + ");" 
    } 

} 

在javascript中

function getValue(lblId) 
{ 
    alert($(lblId).text()); 
} 
+0

感謝Aristos,我更新了我的答案,不會工作。 – Adil

2

我想這也將能夠運行。但它只是原始代碼。我沒有測試過它。

//LinkButton 
<asp:LinkButton ID="lnk" Text="Click Here" runat="server" OnClientClick="getValue(this);" /> 

    //function 
    <script type="text/javascript"> 
     function getValue(element){ 
      var tr = $(element).closest('tr'); 
      var ID = $(tr).find('span[id*="lblBEid"]').text(); 
      var Name = $(tr).find('span[id*="lblName"]').text(); 
      var Date = $(tr).find('span[id*="lblDate"]').text(); 
      alert(ID+','+Name+','+Date); 
     } 
    </script> 

它更好,如果你可以給你的每一行的CSS類。 像: RowStyle-的CssClass = 「格列」

然後我可以在我的代碼更改爲:

var tr = $(element).closest('.grid-row'); 

相關問題