I learned a painful little lesson today which hopefully will benefit others.
Most every ASP.Net control has a Visible property, which can be set to either 'true' or 'false'. If you've ever set it to 'false' and look at how it's rendered, you'll see this HTML property: style="display:none"
But when you're using the AJAX Control Toolkit, the two ways of hiding a control are not always equal.
For example, when I use the ModalPopupExtender to display a dialog box, I frequently define the TargetControlID with a dummy button. Why? So that I can programmatically control when the dialog box is displayed. Here's a very straightfoward example:
The only reason that buttonDummy exists is because the ModalPopupExtender must have a TargetControlID defined. And since you don't want the user to see this dummy button, you need to hide it. But doing so by setting Visible="false" internally seems to mess up the logic of the ModalPopupExtender. When you're expecting the dialog box to display, the code runs but nothing happens.
Subscribe to:
Post Comments (Atom)
Ajax controls work on the client side.When you set visible=false,the dummy button isn't even rendered.then the ModalPopupExtender can't find it's TargetControlID.
ReplyDelete