views:

639

answers:

3

Hi everybody, I having an issue with UpdatePanel where its always causing a full page postback instead of an async one.

Here's aspx code

    <%@ Page language="c#" Codebehind="RegistrationsOld.aspx.cs" AutoEventWireup="True" Inherits="Registrations.Register" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml"&gt;
    <head>
     <title>Registrations</title>
    </head>
    <body>
     <form id="_mainForm" runat="server">
      <asp:ScriptManager ID="_scriptManager" runat="server"></asp:ScriptManager>
      <asp:UpdatePanel ID="_updatePanel" runat="server">
       <ContentTemplate>
        <asp:Button ID="_postBack" runat="server" Text="Postback!!!" />
        <%=DateTime.Now%>
       </ContentTemplate>
      </asp:UpdatePanel>
     </form>
    </body>
</html>

No code behind logic

In the resulting HTML I'm noticing that all the javascript logic for registering UpdatePanels is missing, what can be wrong?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml"&gt;
    <head>
     <title>Registrations</title>
    </head>
    <body>
     <form name="_mainForm" method="post" action="RegistrationsOld.aspx" id="_mainForm">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="FKfjiCZfvms4LEL11blfrXnmC/wScY2XjDvMtkIBXPqdutqXjc+flWgtcQ5WHHxU" />


<script src="/Registrations/ScriptResource.axd?d=ZqE69ckaWSPtXLlB_ypEoaexcnFR_4HaKEIAj2L1SjguUUzm1b2ynhnRSUdcjmkKP0wNTeyoNrwIk6T5YgXcACfck9AjnPvFflFbAgvZJgM1&amp;t=633306437776352439" type="text/javascript"></script>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="YJ2A6HeD5ZInaAtsQI6zV2+cnGmR39d5mvZmEVdtWCHnBZriZCyd4g==" />

      <div id="_updatePanel">

        <input type="submit" name="_postBack" value="Postback!!!" id="_postBack" />
        8/6/2009 5:23:40 PM

</div>


<script type="text/javascript">
<!--
Sys.Application.initialize();
// -->
</script>
</form>
    </body>
</html>

This is the web.config file

<?xml version="1.0"?>
<configuration>
    <configSections>
     <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
       <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
       <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
        <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
        <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
       </sectionGroup>
      </sectionGroup>
     </sectionGroup>
    </configSections>

    <connectionStrings>
     <add name="ConnectionString" connectionString="server=146.1.145.40;Trusted_Connection=false;database=Portal;User ID=devuser;Password=devuser99;Enlist=False"
       providerName="VerizonBusiness.Framework.Data.Providers.SqlServerDatabase, VerizonBusiness.Framework.Data" />
     <add name="TestConnectionString" connectionString="Data Source=ndcsrvdvm139;Initial Catalog=Portal;User ID=devuser;Password=devuser99"
       providerName="System.Data.SqlClient" />
    </connectionStrings>
    <appSettings>
     <!--<add key="DevAdminRecipient" value="[email protected]"/>-->
     <add key="SiteLink" value="http://dashboarddev.vzbi.com/Registrations/"/&gt;
     <add key="EnableMail" value="false"/>
    </appSettings>
    <system.web>
     <pages validateRequest="true">
      <controls>
       <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </controls>
     </pages>
     <authorization>
      <allow users="?"/>
     </authorization>
     <!-- set debugmode to false for running application -->
     <compilation debug="true"/>
     <!--The Portal Starter Kit supports either Forms authentication (Internet)
            or Windows authentication (for intranets).  Forms Authentication is
            the default.  To change to Windows authentication, comment the 
            <authentication mode="Forms"> section below, and uncomment the 
            <authentication mode="Windows"> section. -->
     <!--<sessionState timeout="60" cookieless="false" />-->
     <authentication mode="None"/>
     <!--<authentication mode="Windows" />
        <authorization>
            <deny users="?" />
        </authorization>-->
     <httpRuntime useFullyQualifiedRedirectUrl="true"/>
     <globalization fileEncoding="utf-8" requestEncoding="utf-8" uiCulture="en-US" culture="en-US" responseEncoding="utf-8"/>
     <!-- Adapter configuration for mobile controls used in the portal -->
     <mobileControls>
      <device name="PortalHtmlDeviceAdapters" inheritsFrom="HtmlDeviceAdapters">
       <control name="ASPNET.StarterKit.Portal.MobileControls.TabbedPanel, ASPNETPortal" adapter="ASPNET.StarterKit.Portal.MobileControls.HtmlTabbedPanelAdapter,ASPNETPortal"/>
       <control name="ASPNET.StarterKit.Portal.MobileControls.LinkCommand, ASPNETPortal" adapter="ASPNET.StarterKit.Portal.MobileControls.HtmlLinkCommandAdapter,ASPNETPortal"/>
      </device>
      <device name="PortalChtmlDeviceAdapters" inheritsFrom="ChtmlDeviceAdapters">
       <control name="ASPNET.StarterKit.Portal.MobileControls.TabbedPanel, ASPNETPortal" adapter="ASPNET.StarterKit.Portal.MobileControls.ChtmlTabbedPanelAdapter,ASPNETPortal"/>
      </device>
      <device name="PortalWmlDeviceAdapters" inheritsFrom="WmlDeviceAdapters">
       <control name="ASPNET.StarterKit.Portal.MobileControls.TabbedPanel, ASPNETPortal" adapter="ASPNET.StarterKit.Portal.MobileControls.WmlTabbedPanelAdapter,ASPNETPortal"/>
      </device>
     </mobileControls>
     <!-- Mobile device filters used for customizing portal -->
     <deviceFilters>
      <filter name="isJScript" compare="javascript" argument="true"/>
      <filter name="isPocketIE" compare="browser" argument="Pocket IE"/>
      <filter name="isHTML32" compare="preferredRenderingType" argument="html32"/>
     </deviceFilters>
     <trace enabled="true"/>
     <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
      <remove verb="GET" path="FtbWebResource.axd" />
      <remove verb="POST,GET" path="ajaxpro/*.ashx" />
      <!--<add verb="GET" 
       path="FtbWebResource.axd" 
       type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox" /> -->
     </httpHandlers>
     <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
     </httpModules>
     <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="3DES"/>
     <customErrors mode="Off"/>
     <xhtmlConformance mode="Legacy"/>
    </system.web>
</configuration>

Thanks in advance

A: 

My first idea would be to remove underscores from all the ID names.

Spencer Ruport
+2  A: 

I found the problem is the problem!!!

So, mental note: Disallow use of xhtmlComformance :D

Paleta
I don't think that is a problem. We use UpdatePanel with DHTML conformance in all our pages. So are you saying removing the conformance automatically made the update panel send only partial page postback?
Charles Prakash Dasari
XhtmlComformance to Legacy was the problemhttp://weblogs.asp.net/scottgu/archive/2006/12/10/gotcha-don-t-use-xhtmlconformance-mode-legacy-with-asp-net-ajax.aspx
Paleta
A: 

You may need to add "EnablePartialRendering = true" to the script manager

apocalypse9
That is the default, though, but worth trying.
Dan Diplo