无法从asp.net中的java脚本中隐藏标签和网格视图
本文关键字:隐藏 标签 视图 网格 脚本 java asp net 中的 | 更新日期: 2023-09-27 18:13:13
我想在javascript中隐藏标签和网格视图
我成功地隐藏了图像和复选框,但还没有隐藏标签以及网格视图
如何使用javascript?
javascript
<script type="text/javascript">
function txtOnKeyPress(txt1)
{
if (txt1 != 'undefined')
{
document.getElementById("GVPaymentDetails").style.display='none';
document.getElementById('LblValidReg').style.display='none';
}
}
</script>
aspx代码
<asp:TextBox ID="txtRegno" runat="server" AutoPostBack="false"
MaxLength="10" onkeydown="txtOnKeyPress(this);"></asp:TextBox>
<asp:GridView ID="GVPaymentDetails" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#336666" BorderStyle="Double" BorderWidth="3px"
CellPadding="4" GridLines="Horizontal" EmptyDataText="No Records Found">
<RowStyle BackColor="White" ForeColor="#333333" />
<Columns>
<asp:BoundField HeaderText="Enquiry id" DataField="EnquiryId" />
<asp:BoundField HeaderText="Reg Number" DataField="RegistrationNumber" />
<asp:BoundField HeaderText="Name" DataField="Name" />
</Columns>
<FooterStyle BackColor="White" ForeColor="#333333" />
<PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" />
</asp:GridView>
<asp:Label ID="LblValidReg" runat="server"></asp:Label>
您在.aspx标记中看到的ID不是最终出现在客户端页面上的ID。ASP。NET生成一堆东西来代替这个ID。您可以选择:
-
如果您的javascript在同一个.aspx文件中,您可以将客户端ID嵌入其中,如下所示:
document.getElementById("<%= GVPaymentDetails.ClientID %>").style.display='none';
-
如果您可以100%保证页面上没有其他具有相同ID的控件,请使用静态ID模式,这将强制ASP。NET在客户端呈现完全相同的ID:
<asp:GridView ID="GVPaymentDetails" ClientIDMode="Static"
在这种情况下,您的代码将按原样工作:
document.getElementById("GVPaymentDetails").style.display='none';
正如评论中已经指出的,将这些控件包装在某种容器中(如Panel或只是一个div.(会让你的生活更轻松
更新
事实上,如果你只在它们周围放一个简单的div,你就不需要上面的任何技巧:
<div id="GridViewContainerDiv">
<asp:GridView ID="GVPaymentDetails" ...
<asp:Label ID="LblValidReg" ...
</div>
document.getElementById("GridViewContainerDiv").style.display='none';
<script type="text/javascript">
function txtOnKeyPress(txt1)
{
if (txt1 != 'undefined')
{
document.getElementById("<%= GVPaymentDetails.ClientId%>").style.display='none';
document.getElementById('<%= LblValidReg.ClientId%>').style.display='none';
}
}
</script>
或
<asp:GridView ID="GVPaymentDetails" runat="server" AutoGenerateColumns="False" ClientIdMode="static"
<asp:Label ID="LblValidReg" ClientIdMode="Static" runat="server"></asp:Label>
使用
$("#<%=GVPaymentDetails.ClientID %>").css('display','none');
$("#<%=LblValidReg.ClientID %>").css('display','none');
安装
document.getElementById("<%= GVPaymentDetails.ClientId%>").style.display='none';
document.getElementById('<%= LblValidReg.ClientId%>').style.display='none';