2012-09-24 116 views
0

即時通訊與c#使用asp.net。asp.net,javascript getElementById linkbutton

我有一個gridview,並有一個TemplateField列。在TemplateField列中有一個EditItemTemplate,在EditItemTemplate內部是一個鏈接按鈕(LinkBut​​ton1)。

我試着從一個javascript函數做LinkBut​​ton的一個的getElementById:

document.getElementById("<%= LinkButton1.ClientID %>").disabled = true; 

但是編譯時,我得到的錯誤:「LinkBut​​ton1」並不在當前上下文中。

的ASPX GridView控件代碼:

<asp:GridView ID="GridView1" runat="server" Height="157px" Width="814px" 
      CellPadding="4" ForeColor="#333333" GridLines="None" 
      OnRowEditing="GridView1_RowEditing" 
      OnRowCancelingEdit="GridView1_RowCancelingEdit" 
      OnRowUpdating="GridView1_RowUpdating" AutoGenerateColumns="False" 
      OnRowDataBound="GridView1_RowDataBound" 
       onrowdeleting="GridView1_RowDeleting" Font-Size="Medium" 
      AllowPaging="True" onpageindexchanged="GridView1_PageIndexChanged" onpageindexchanging="GridView1_PageIndexChanging"  > 
      <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> 
<Columns> 
<asp:TemplateField ShowHeader="False"> 
<EditItemTemplate> 
     <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update" 
      Text="Actualizar" ValidationGroup="upd_validation"></asp:LinkButton> 
     <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" 
      Text="Cancelar"></asp:LinkButton> 
</EditItemTemplate>  
<ItemTemplate> 
     <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Edit" 
      Text="Editar"></asp:LinkButton> 
     <asp:LinkButton ID="LinkButton4" runat="server" CausesValidation="False" CommandName="Delete" 
      Text="Eliminar" CommandArgument='<%# Container.DataItemIndex %>' onclientClick="return ConfirmDelete()"></asp:LinkButton>       
</ItemTemplate>     
</asp:TemplateField> 

我該如何解決這個問題?

謝謝。

+0

你能提供的代碼實現它你的aspx? – ivowiblo

+0

是的。我只是使用aspx代碼編輯主帖子。 – pyram

+0

好的。它不會那樣工作,因爲你的鏈接按鈕實際上在模板中。你不會有一個,但很多linkbuttons,使用ClientID的代碼將不知道哪一個得到。解釋你想做什麼,我會嘗試提供另一種解決方案。 – ivowiblo

回答

2

U可以添加一些虛擬CSS類LinkBut​​ton的(例如,「disableLink」),然後使用jQuery,u能方便地使用下面的代碼

$('.disableLink').each(function (i, obj) { 
     $(this).disabled = true; 
     // OR 
     $(this).attr('disabled','disabled'); 
    } 
1

你可以試試這個。

$(document).ready(function() { 
     $("#<%=grid1.ClientID%> td a").css("visibility","hidden"); 
    });