Problem Adding Declarative Script to a Content Page - I get this error:
"Assertion failed: could not find HTML element with ID "Wait" for control type Sys.UI.Image"
I have the following:
<asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
<atlas:ScriptManagerID="ScriptManager1"runat="server"EnablePartialRendering="True">
</atlas:ScriptManager>
<scripttype="text/xml-script">
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<components>
<image id="Wait" visibilityMode="Collapse" />
</components>
</page>
</script>
<imgid=Waitrunat=serversrc="Images/spinner.gif"/>
Server controls do not always have the same client ID as the ID you specify - instead, they are given a unique ID based on what naming containers they live in. If you do a View Source on the client, you'll see this.
There are two ways to solve this:
1) Don't make the img a server control. This makes sense if you're not doing anything dynamic with the image on the client - there's no value in making it a server control.
2) If you do need to make the image a server control, you can obtain the ClientID property of the control and databind that into your script:
<image id="<%# Wait.ClientID %>" visibilityMode="Collapse" />
You'll need to call DataBind on the page (or on a container control that contains the script) to get this databinding to happen.
Thanks,
Thank you.
Side question: Does it matter 'where' on the page the xml script tags are located?
The reason I ask: In the examples they are usually located outside of the form tags - but since the content pages do not have form tags.
Thanks again for the quick response.
No comments:
Post a Comment