我想要我的转发器行 - 当点击扩展时,面板中只有几个文本框。我已经用数据库中的数据以表格格式完成了转发器。当点击转发器中的每一行时,我需要一个面板可见其中包含文本框。当再次单击该行时,该面板必须变为不可见。
提前感谢您的帮助
<asp:Repeater ID="RepSample" runat="server" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<table cellpadding="1" cellspacing="1" width="100%" style="font-family: Verdana;
border: 1px solid #C0C0C0; background-color: #D8D8D8">
<tr bgcolor="#FF781E">
<th>
LicenseID
</th>
<th>
LicenseName
</th>
<th>
StartDate
</th>
<th>
EndDate
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color: White">
<td>
<%#DataBinder.Eval(Container, "DataItem.LicenseID")%>
</td>
<td>
<%#DataBinder.Eval(Container, "DataItem.LicenseName")%>
</td>
<td>
<%#DataBinder.Eval(Container, "DataItem.StartDate")%>
</td>
<td>
<%#DataBinder.Eval(Container, "DataItem.EndDate")%>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td>
<%#DataBinder.Eval(Container, "DataItem.LicenseID")%>
</td>
<td>
<%#DataBinder.Eval(Container, "DataItem.LicenseName")%>
</td>
<td>
<%#DataBinder.Eval(Container, "DataItem.StartDate")%>
</td>
<td>
<%#DataBinder.Eval(Container, "DataItem.EndDate")%>
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table></FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:KTestConnectionString %>"
SelectCommand="SELECT LicenseID, LicenseName, StartDate, EndDate FROM Krish">
</asp:SqlDataSource>
答案 0 :(得分:1)
jQuery可以帮助...
使用以下jQuery代码制作 jQuery插件 ...
(function($) {
$.fn.extend({
collapsiblePanel: function() {
//Call the ConfigureCollapsiblePanel function for the selected element
return $(this).each(ConfigureCollapsiblePanel);
}
});
})(jQuery);
function ConfigureCollapsiblePanel() {
//Wrap the contents of the container within a new div.
$(this).children().wrapAll("<div class='collapsibleContainerContent'></div>");
//Create a new div as the first item within the container.
$("<div class='collapsibleContainerTitle'></div>").prependTo($(this));
//Assign a call to CollapsibleContainerTitleOnClick for the click event of the new div.
$(".collapsibleContainerTitle", this).click(CollapsibleContainerTitleOnClick);
}
function CollapsibleContainerTitleOnClick() {
//The item clicked is the new div... get this parent (the overall container) and toggle the content within it.
$(".collapsibleContainerContent", $(this).parent()).slideToggle();
}
aspx标记部分
在您的Repeater
ItemTemplate
中添加一个div并将其命名为 collapsibleContainer
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div class="collapsibleContainer">
<%-- Put your text boxes and other contents here --%>
</div>
</ItemTemplate>
</asp:Repeater>
现在,您的页面中只剩下 $()。ready 功能了。
$().ready(function() {
$(".collapsibleContainer").collapsiblePanel();
});
当然,您需要在页面上包含jQuery插件引用作为脚本标记。