Это очень легко сделать с помощью jQuery.На вашей панели объявите класс csscale, скажите «панель», а на своем ярлыке объявите класс css, скажите «toggle».Ваш jQuery будет:
$(document).ready(function(){
$(".toggle").toggle(function (){
$(this).text("Collapse");
$(this).next(".panel").slideDown("fast");
},function () {
$(this).text("Expand");
$(this).next(".panel").slideUp("fast");
});
});
Вы также можете отказаться от элемента управления ajax.Конечно, вы также должны объявить .panel в display: none;
в своем CSS.Также обратите внимание, что вам, возможно, придется избавиться от таблиц вокруг ярлыков, чтобы эффективно использовать функцию «следующий».Вам также понадобится только одна метка, которая будет изменять текст в обоих направлениях:
<asp:LinkButton ID="view" runat="server" text="Expand" cssclass="toggle">
<!-- You may alternatively use a standard link here or even a <p> tag, like this
<p class="toggle">Expand</p>
-->
<asp:Panel ID="Panel1" runat="server" cssclass="panel">
<table>
<tr>
<td>
<%#Eval("LongDescription")%>
</td>
</tr>
</table>
</asp:Panel>
РЕДАКТИРОВАТЬ
Вот точный код, который я использовал, чтобы запустить его для вас.Обратите внимание, что я обычно вытаскиваю скрипт и CSS и помещаю их в отдельный файл, но для всех намерений и целей это работает (если вы используете файл jquery 1.3.2):
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<style type="text/css">
.panel {
display: none;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
$(".toggle").toggle(function() {
$(this).text("Collapse");
$(this).next(".panel").slideDown("fast");
}, function() {
$(this).text("Expand");
$(this).next(".panel").slideUp("fast");
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<p class="toggle" style="cursor:pointer;color:blue"><u>Expand</u></p>
<asp:Panel ID="Panel1" runat="server" CssClass="panel" >
<table>
<tr>
<td>
<p>some text</p>
</td>
</tr>
</table>
</asp:Panel>
</form>
</body>
</html>