这是我的问题的后续行动:
Asp:Label is not shown when visible is set to true?
在上面的问题中,我有一些控件,其中可见性未被设置为false,因为它们不在UpdatePanel
中。一旦我将控件放在UpdatePanel
内,可见性的切换就起作用了,但这引起了另一个问题。我有一个ImageButton
导出到excel。当按钮不在UpdatePanel
时,点击事件被触发,但现在我将其放在UpdatePanel
内,点击事件不会触发。
我也有一个下拉列表工作正常。我认为它与ImageButton
没有AutoPostBack
属性这一事实有关。
答案 0 :(得分:2)
我遇到了类似的问题。就我而言,ImageButtons
位于转发器内,该转发器绑定到updatepanel
。但是我在转发器的Page.RegisterRequiresRaiseEvent(ImageButton)
方法中的代码中使用了ItemDataBound
并且它有效。
答案 1 :(得分:2)
将ChildrenAsTriggers="true"
添加到您的更新面板。如果您有母版页,则可以使用。
如果您的更新面板位于主控制中,则无法添加触发器。
答案 2 :(得分:1)
确保已将图像按钮与UpdatePanel上的PostBackTrigger相关联。如果使用类似于Matt Berseth's method的内容导出到Excel,则必须使用此触发器才能使导出生效。
<asp:PostBackTrigger ControlID="ImageButton1"/>
答案 3 :(得分:1)
如果在itemTemplate中有一个带有图像按钮的数据列表,则不需要触发器,但causeValidation = false
是。
答案 4 :(得分:0)
不,ImageButtons没有AutoPostBack:他们不需要它们比普通按钮更多。
这种行为听起来很奇怪。我要说的第一件事就是将asp:ImageButton更改为asp:Button,看看是否会改变行为。如果没有,它是一个ImageButton的事实是一个红色的鲱鱼。
答案 5 :(得分:0)
尝试用菜单(包含单个菜单项)替换图像按钮并设置其imageurl属性。
答案 6 :(得分:0)
myImagebutton.OnClientClick = "return true;";
答案 7 :(得分:0)
将'CausesValidation'属性更改为false。