C#.NET / JavaScript:可折叠表行-这怎么了?
时间:2020-03-06 14:53:26 来源:igfitidea点击:
我有一个C.NET页面,我想在其中按下按钮时使行折叠。我发现许多类似本教程的教程(http://codingforums.com/archive/index.php?t-90375.html),都试图实现其解决方案,但是当我单击按钮时,它们都对我没有任何帮助。为了确保我不会发疯,我做了一个小的测试页,以查看该想法是否可行。由于某种原因,事实并非如此。浏览器是IE6. 我正在运行Visual Studio2005. 有人知道为什么它不起作用吗?渲染的页面显示了一个按钮和一行文本,正如我所期望的那样;当我单击按钮时,文本行不会消失。我知道我可以使用div,但是请记住,这只是概念的证明;在我的实际应用程序中,必须折叠的表行。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Project.Web.Auth.Test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Shop Financials</title>
<link href="../StyleSheets/ClaimsV2.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function btnClick(control)
{
try
{
var id_table = document.getElementById(control).style;
if(id_table.display == "block")
{
id_table.display = "none";
}
else
{
id_table.display = "block";
}
}
catch(e)
{
alert(e);
}
}
function toDepositPrinterFriendly()
{
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr>
<td><asp:Button runat="server" OnClientClick="javascript:btnClick('HeaderRow')"/></td>
</tr>
<tr id="HeaderRow" runat="server">
<td>TEST2</td>
</tr>
</table>
</form>
</body>
</html>
解决方案
1)最初(可能)未"阻塞"显示。尝试:
if(id_table.display == 'none')
{
id_table.display = '';
}
else
{
id_table.display = 'none';
}
2)由于命名容器,控件的ID不会像我们想的那样。检查HTML源

