C # .NET / javascript :Сворачиваемые строки таблицы - что в этом плохого?
-
02-07-2019 - |
Вопрос
У меня есть страница C # .NET, где я хочу, чтобы строки сворачивались при нажатии кнопки.Я нашел много руководств, подобных этому (http://codingforums.com/archive/index.php?t-90375.html), пытались реализовать свои решения, но ни одно из них ничего не делает для меня, когда я нажимаю свою кнопку.Чтобы убедиться, что я не схожу с ума, я создал небольшую тестовую страницу, просто чтобы посмотреть, сработает ли моя идея.По какой-то причине это не так.Браузер - IE6.Я использую Visual Studio 2005.У кого-нибудь есть какие-нибудь идеи, почему это не работает?Отрисованная страница показывает кнопку и строку текста, как я и ожидал;строка текста не исчезает, когда я нажимаю на кнопку.Я знаю, что мог бы использовать divs, но помните, что это всего лишь доказательство концепции;в моем реальном приложении именно строки таблицы должны сворачиваться.
<%@ 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) Идентификатор элемента управления не будет таким, как вы думаете, благодаря Присвоение имен Контейнерам.Проверьте свой HTML-источник