在可点击列表视图行内嵌套asp:LinkBut​​ton

时间:2018-08-13 19:07:23

标签: c# asp.net listview

我有一个列表视图,该视图在自定义用户控件中显示文件和文件夹。用户控件的目的是允许用户选择文件和文件夹以用于整个应用程序的各种用途。代表文件夹的每一行都有一个切换按钮,用于展开该文件夹并显示所有内容,该文件夹为<asp:LinkButton>。每行都必须是可单击的,因为用户可以选择文件和文件夹,因此该项目是<asp:LinkButton>,以触发ItemCommand的{​​{1}}事件。我在下面附加了一个代码示例,其中省略了<asp:ListView>和不相关的元素。

CssClass

我了解在另一个<asp:ListView runat="server" Id="ddtvContentItems" OnItemCommand="ddtvContentItems" OnItemDataBind="ddtvItemDataBind"> <ItemTemplate> <Section> <asp:LinkButton Id="ContentArea" CommandName="Select" CommandArguement='<%# Eval("Id") %>'> <!-- Some more elements --> <div> <asp:LinkButton Id="btnExpandCollapse" CommandName="Toggle" CommandArguement='<%# Eval("Id") %>'></asp:LinkButton> </div> </asp>LinkButton> </Section> </ItemTemplate> </asp:ListView> 中使用<asp:LinkButton>(呈现为<a>)的问题。我了解不应将定位标记放置在定位标记中。问题是我需要替代包含<asp:LinkButton>的方法,而<asp:LinkButton>(div)之类的东西在点击时不会触发<asp:Panel>事件。

我尝试在客户端使用面板和ItemCommand并回发。尽管这可行,但这会导致回发并重新呈现。

OnClick

编辑:尝试注释中的内容-添加一个不可见的按钮,并使用asp:Panel作为带有function ContentSelect(id) { __doPostBack("contentSelected:" + id); } 的容器

0 个答案:

没有答案