【发布时间】:2011-04-18 23:17:45
【问题描述】:
您好,我在网上找到了与以下类似的代码。将按钮隐藏在中继器控件中以触发返回服务器的完整周期似乎真的很棒。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<%=DateTime.Now.ToString() %>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="HiddenButton" />
</Triggers>
</asp:UpdatePanel>
<!--Make a hidden button to treat as the postback trigger-->
<asp:Button ID="HiddenButton" runat="server" Style="display: none" Text="HiddenButton" />
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<!--when cick the button1, it will fire the hiddenButton-->
<asp:Button ID="Button1" Text="Trigger" CommandArgument='<%# Eval("Id") %>' OnClientClick="$get('HiddenButton').click();return false;"
runat="server" />
</ItemTemplate>
</asp:Repeater>
它使用 hiddenButton 通过将原始按钮的单击事件挂钩到该按钮来实现此目的。但是,我对此的补充是按钮的 CommandArgument 设置。我还需要为 HiddenButton 设置它。
有没有人知道如何解决这个问题?
【问题讨论】:
-
我将把它作为评论而不是答案发布,因为我不确定它是否会起作用,但你可以尝试this suggestion 创建你自己的属性并设置它。跨度>
-
我认为你甚至不需要 javaScript。移除 HiddenButton 和
当你点击 “Button” 时,更新面板会被刷新。所以你的意思是你需要一个 AsyncPostBackTrigger吗?
标签: asp.net triggers updatepanel repeater