I'm getting this error message, found a blog which should have resolved it but ... no joy. Here is the blog I followed step by step 2 times but to no result: http://blogs.msdn.com/b/webdevtools/a...
Note, when I selected "Show All" in the AJAX Extensions tab, I did see a grayed-out "Update Panel" in addition to the .Net 2.0 version. I thought I had it solved right there ... 2 Update panels in a project targeting .Net 3.5, etc. Nope ... removed the .Net 3.5 flavor, still got the error. Deleted and re-added the .Net 2.0 flavor, still got the error.
My HTML code follows the error, I don't see anything obvious there. I've also included the Designer File declaration. The blog noted above should have resolved the issue. I noted that the Ajax Extensions was already in the Toolbox but followed the blog anyhow. As well, the Ajax 1.0 Toolkit is also added, which was optional per the blog but I figured it could not hurt.
I've tried everything simple but something's hanging this up. Thanks for any help.
Error Code Text: DotNetNuke.Services.Exceptions.ModuleLoadException: The server tag 'asp:UpdatePanel' is ambiguous. Please modify the associated registration that is causing ambiguity and pick a new tag prefix. ---> System.Web.HttpParseException: The server tag 'asp:UpdatePanel' is ambiguous. Please modify the associated registration that is causing ambiguity and pick a new tag prefix. at System.Web.UI.TemplateParser.ProcessException(Exception ex) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseReader(StreamReader reader, VirtualPath virtualPath) at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) at System.Web.UI.TemplateParser.ParseInternal() at System.Web.UI.TemplateParser.Parse() at System.Web.UI.TemplateParser.Parse(ICollection referencedAssemblies, VirtualPath virtualPath) at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at System.Web.UI.TemplateControl.LoadControl(String virtualPath) at DotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfo objModule, PortalSettings PortalSettings) --- End of inner exception stack trace ---
ascx page code:
<%@ Control language="C#" Inherits="ISSI.DNN.NewVISCustomer.ViewvisCustomer" CodeFile="ViewvisCustomer.ascx.cs" AutoEventWireup="true"%>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<script type="text/javascript">
function showElement (id, value)
{
if (value == true)
$get(id).style.visibility = "visible";
else
$get(id).style.visibility = "hidden";
}
function onUpdating()
{
// get the update progress div
var pnlPopup = $get('<%= this.pnlPopup.ClientID %>');
// get the gridview element
var gridView = $get('<%= this.gridSearchResults.ClientID %>');
// make it visible
pnlPopup.style.display = '';
// get the bounds of both the gridview and the progress div
var gridViewBounds = Sys.UI.DomElement.getBounds(gridView);
var pnlPopupBounds = Sys.UI.DomElement.getBounds(pnlPopup);
// center of window
var myWidth = 0, myHeight = 0;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
//var x = gridViewBounds.x + Math.round(gridViewBounds.width / 2) - Math.round(pnlPopupBounds.width / 2);
//var y = gridViewBounds.y + Math.round(gridViewBounds.height / 2) - Math.round(pnlPopupBounds.height / 2);
var x = Math.round(myWidth / 2) - Math.round(pnlPopupBounds.width / 2);
var y = Math.round(myHeight / 2) - Math.round(pnlPopupBounds.height / 2);
// set the progress element to this position
Sys.UI.DomElement.setLocation(pnlPopup, x, y);
}
function onUpdated()
{
// get the update progress div
var pnlPopup = $get('<%= this.pnlPopup.ClientID %>');
// make it invisible
pnlPopup.style.display = 'none';
}
</script>
<asp:UpdatePanel ID="pnlMain" runat="server">
<ContentTemplate>
<TABLE class="Normal"><TBODY><TR><TD style="WIDTH: 157px; TEXT-ALIGN: right">Customer #:</TD><TD style="WIDTH: 100px">
<asp:TextBox id="txtCustomerNumber" runat="server" __designer:wfdid="w15"></asp:TextBox></TD></TR>
<TR><TD style="WIDTH: 157px; TEXT-ALIGN: right">Priority Type:</TD><TD style="WIDTH: 100px; TEXT-ALIGN: left">
<asp:DropDownList id="lstPriorityType" runat="server" __designer:wfdid="w16"></asp:DropDownList></TD></TR><TR>
<TD style="WIDTH: 157px; TEXT-ALIGN: right">Delivery Option:</TD><TD style="WIDTH: 100px; TEXT-ALIGN: left">
<asp:DropDownList id="lstDeliveryOption" runat="server" __designer:wfdid="w17">
</asp:DropDownList></TD></TR><TR><TD style="WIDTH: 157px; TEXT-ALIGN: right">Freight Account:</TD>
<TD style="WIDTH: 100px"><asp:TextBox id="txtFreightAccount" runat="server" __designer:wfdid="w18">
</asp:TextBox></TD></TR><TR><TD colSpan=2>
<asp:Button id="btnSearch" onclick="btnSearch_Click" runat="server" Text="Find"
__designer:wfdid="w19" CssClass="StandardButton"></asp:Button></TD></TR></TBODY></TABLE><BR /><BR />
<asp:GridView id="gridSearchResults" runat="server"
OnSorting="gridSearchResults_Sorting"
OnPageIndexChanging="gridSearchResults_PageIndexChanging" AllowSorting="True"
AllowPaging="True" AutoGenerateColumns="False" CssClass="Normal"
onrowdatabound="gridSearchResults_RowDataBound">
<EmptyDataTemplate>No results found for search criteria.</EmptyDataTemplate>
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="lnkDetails" runat="server" NavigateUrl="#">Details</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="order_number" HeaderText="Order/Quote Number" ReadOnly="True" SortExpression="order_number" />
<asp:BoundField DataField="date" HeaderText="Date" SortExpression="date" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="false" />
<asp:BoundField DataField="name" HeaderText="Vendor" ReadOnly="True" SortExpression="name" />
<asp:BoundField DataField="customer_number" HeaderText="Customer #" SortExpression="customer_number" />
<asp:BoundField DataField="customer_part_number" HeaderText="Part #" ReadOnly="True" SortExpression="customer_part_number" />
<asp:BoundField DataField="manufacturer_part_number" HeaderText="Commercial Part #" ReadOnly="True" SortExpression="manufacturer_part_number" />
<asp:BoundField DataField="customer_part_description" HeaderText="Description" ReadOnly="True" SortExpression="customer_part_description" />
<asp:BoundField DataField="user_name" HeaderText="User Name" ReadOnly="True" SortExpression="user_name" />
<asp:BoundField DataField="city" HeaderText="City" ReadOnly="True" SortExpression="city" />
<asp:BoundField DataField="state" HeaderText="State" ReadOnly="True" SortExpression="state" />
<asp:BoundField DataField="priority_type_description" HeaderText="Priority Type" SortExpression="priority_type_description" />
<asp:BoundField DataField="delivery_type_description" HeaderText="Delivery Type" SortExpression="delivery_type_description" />
<asp:BoundField DataField="freight_account" HeaderText="Freight Acct" SortExpression="freight_account" />
<asp:BoundField DataField="notes" HeaderText="Notes" SortExpression="notes" />
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="lnkOrder" runat="server" NavigateUrl="#">Order</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> <asp:Panel style="DISPLAY: none" id="pnlPopup" runat="server" CssClass="progress">
<div class="progresscontainer">
<div class="progressheader">Searching, please wait...</div>
<div class="progressbody">
<asp:Image AlternateText="Please wait" ImageUrl="~/images/activity.gif" runat="server" />
</div>
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<ajaxToolkit:UpdatePanelAnimationExtender ID="UpdatePanelAnimationExtender1" runat="server" TargetControlID="pnlMain">
<Animations>
<OnUpdating>
<Parallel duration="0">
<%-- place the update progress div over the gridview control --%>
<ScriptAction Script="onUpdating();" />
</Parallel>
</OnUpdating>
<OnUpdated>
<Parallel duration="0">
<%--find the update progress div and place it over the gridview control--%>
<ScriptAction Script="onUpdated();" />
</Parallel>
</OnUpdated>
</Animations>
</ajaxToolkit:UpdatePanelAnimationExtender>
Designer Declaration (designer.ascx.cs):
/// <summary>
/// pnlMain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdatePanel pnlMain;