【问题标题】:asp.net, javascript getElementById to linkbuttonasp.net, javascript getElementById 到链接按钮
【发布时间】:2012-09-24 03:54:07
【问题描述】:

我在 c# 中使用 asp.net。

我有一个 gridview 并且有一个 TemplateField 列。在 TemplateField 列内有一个 EditItemTemplate,在 EditItemTemplate 内是一个链接按钮(LinkBut​​ton1)。

我正在尝试通过 javascript 函数在链接按钮上执行 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>

我该如何解决这个问题?

谢谢。

【问题讨论】:

  • 你能提供你的aspx的代码吗?
  • 是的。我刚刚用 aspx 代码编辑了主帖。
  • 好的。它不会那样工作,因为您的链接按钮实际上在模板中。您不会有一个但很多链接按钮,使用 ClientID 的代码将不知道要获取哪一个。说明你想做什么,我会尝试提供另一种解决方案。
  • 在gridview上,当处于编辑模式时,还有一些文本框要编辑,如果一些文本框不符合要求的长度,我希望禁用链接按钮,如果文本框符合要求长度,我想启用链接按钮............我该怎么做?

标签: javascript asp.net


【解决方案1】:

你可以在 LinkBut​​ton 中添加一些虚拟的 css 类(例如“disableLink”),然后使用 Jquery,你可以使用下面的代码轻松实现它

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

【讨论】:

    【解决方案2】:

    你可以试试这个。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      相关资源
      最近更新 更多