Showing posts with label pages. Show all posts
Showing posts with label pages. Show all posts

Wednesday, March 28, 2012

UpdatePanel - postback ruins drag and drop behavior

I've been trying out the dragDropList behavior and it works fine with regular ASP.Net pages.
I then wrapped it in an UpdatePanel, and it works fine when the page is initially loaded - but as soon as a postback occurs the drag-and-drop no longer works.

I've tried putting the XML script inside the UpdatePanel, outside it, in the head, etc. I just can't get it to work.

Here's the form part of my aspx page:

<form id="form1" runat="server">
<atlas:ScriptManager ID="AtlasScriptManager" EnablePartialRendering="true" EnableViewState="true" runat="server">
<Scripts>
<atlas:ScriptReference ScriptName="AtlasUIDragDrop" />
</Scripts>
</atlas:ScriptManager
<atlas:UpdatePanel ID="MainUpdatePanel" Mode="Always" runat="server">
<ContentTemplate>
<div id="dropArea" class="dropArea">
<div id="content1" class="item">
<div id="content1Handle" class="itemHandle">Draggable Panel</div>
<div class="itemContent">You can drag these panels to another position in the list.</div>
</div>
<div id="content2" class="item">
<div id="content2Handle" class="itemHandle">Draggable Panel</div>
<div class="itemContent">
<p>Clicking on this button will invalidate the drag-n-drop support.<br />
I haven't figured out why yet...</p>
<asp:Button ID="BtnTest" Text="Test" runat="server" />
</ul>
</div>
</div>
</div
<div class="templates">
<div id="dropCueTemplate" class="dropCue">Let go!</div>
</div>
</ContentTemplate>
</atlas:UpdatePanel
<script type="text/xml-script">
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<components>
<!-- Drop Area --> <control id="dropArea">
<behaviors>
<dragDropList dataType="HTML" acceptedDataTypes="'HTML'" dragMode="Move" direction="Vertical">
<dropCueTemplate>
<template layoutElement="dropCueTemplate" />
</dropCueTemplate>
</dragDropList>
</behaviors>
</control
<!-- Draggable items --> <control id="content1">
<behaviors>
<draggableListItem handle="content1Handle" />
</behaviors>
</control
<control id="content2">
<behaviors>
<draggableListItem handle="content2Handle" />
</behaviors>
</control>
</components>
</page>
</script>
</form>
I'd appreciate any suggestions on what might be wrong and how I can fix it.Hi,

an UpdatePanel should contain only server controls, i.e. controls that can be extended by using an extender or controls that programmatically render Atlas markup.

You should avoid to wrap static HTML with an UpdatePanel, because in this case, the corresponding Atlas controls are disposed after a postback, and they are not re-instantiated as expected.
Thanks for your reply, Garbin.

Unfortunately, that is not the issue (but good to know!). I replaced everything with server controls and the issue remains. After the postback, the drag and drop no longer works.
Hi,

using server controls in this case doesn't solve the problem becauseyour problem regards the corresponding client counterparts, that aredisposed after an update is triggered.

This means that, even if you have replaced a <div id="content1" /> with a <asp:Panel id="content1" runat="server" />, you have an Atlas <control id="content1" /> that is disposed when a postback occurs, stopping the dragdrop functionality to work.

To solve this problem, you need an extender or an Atlas-enabled server control, i.e. a control that programmatically renders the <control id="..." /> stuff, because in this way the rendered Atlas markup will be parsed after a postback and the client functionality will be correctly restored.

i have the same problem but not only with my drag overlay...but i dont understand Garbin on what i need to do to fix the problem. I have attached an asp:panel to my drag overlay.

Could you please explain further on what i need to do?

thanks

o


Hi,

basically you should not put static HTML in an UpdatePanel, because
a partial update could potentially clear it.

Garbin you are my hero :)

I'm now able to do "drag & drop google style" because of you!

thank you very much!!

Monday, March 26, 2012

UpdatePanel + Master Pages = too much processing?

Hi there,

What if I want to make my whole site Atlas-enabled in one step. That is, putting an UpdatePanel in the Master Page and putting the contentplaceholder inside it. That way, all the site's content is "inside" the UpdatePanel.

What do you think of this approach? Is it overkill for the server?

Thanks for any opinions,

-Benton

Personal thought, yes it would be. What I'm doing is putting a Script Manager in the Master Page and then the Update Panels in whatever pages I want them in. Some pages I don't want to have Atlas functionality in, due to server stuff and sometimes I just flat out need a postback.

So, unless you're on a mega server, I'd probably recommend against that.

UpdatePanel + JavaScript - window.close()

Hello!

Situation: 2 pages. ASP.NET 2.0, Microsoft Ajax Extension Beta 2, IIS6.

On first page by Click on "Show" button (asp:Button) - worked next Client Java script code - "window.open( 'page2.aspx', '', '' );".

Page2 - contents UpdatePanel and button "Close" (asp:Button) with follow simple Java script code: "self.close();".

If I'm click on "Show" button 3 times and close second page on "Close" button I have persist situation when IE not load second page and don't load any pages in 1 page after second page is closed.

If I'm put "Close" button outside UpdatePanel - all work right.

Thank you,

for any comments.

Igor

I think you have following code:

page1.aspx:
<asp:Button runat="server" ID="btn" OnClientClick="window.open('page2.aspx','','');" Text="Open" />

page2.aspx:
<asp:Button runat="server" ID="btn" OnClientClick="self.close();" Text="Close" /

1. Is there any reason than you are using <asp:Button /> instead of simple <input type="button" /> ?

2. for some control sets asp.net places following onclick code "__doPostBack('btn','')" to <asp:Button />. and you result onclick = "self.close();__doPostBack('btn','')". you can check it viewing page source in browser. (you can use OnClientClick="window.close();return false;//")

3. I always use window.close() instead of self.close();

so try rewrite code like this:

page1.aspx:
<input type="button" onclick="window.open('page2.aspx','',''); return false;" value="Open" />

page2.aspx
<input type="button" onclick="window.close(); return false;" value="Close" />

I think this must work ;)


Thank you!

It's work.

Saturday, March 24, 2012

UpdatePanel and dynamically loading different aspx content pages

Hello.

I have LinkA and LinkB that should link to two aspx files, LinkA.aspx and LinkB.aspx, respectively. I simply want to enable an AJAX load into an UpdatePanel depending on which LinkButton is clicked.

My expertise is in PHP and AJAX through JavaScript's HTTPRequest method. I've got it working through my JavaScript, but I'm trying to learn/migrate to ASP.NET and its AJAX capabilities. I couldn't find any tutorials on how to do this and I've been searching for days. I would think that this isn't that hard, but I'm new to ASP and I'm not sure how to program this.

Does anyone have any suggestions on how to do this? Thank you in advance for your help.

Joshua

I think you want to load a .ascx control not a .aspx page. You can put a placeholder on a .aspx page and load .ascx controls into the placeholder (you can then wrap all this in an update panel). I have some sample code here:DynamicForms

Updatepanel and gridview

I want to have a gridview on my homepage and when a user pages through the results I want only to update the gridview and not the rest of the page.
I have the following code, but somehow this doesnt work, I get the error: Sys.Webforms.PageRequestManagerParserErrorException: the message received from the server could not be parsed.

<asp:UpdatePanel ID="pnlGuestbook" runat="server">
<ContentTemplate>

<asp:GridView ID="gvGuestBook" Width="250" CssClass="NotifyTable" DataSourceID="odsGuestBook" PageSize="2" AllowPaging="True" runat="server" AutoGenerateColumns="False" DataKeyNames="GBEntryID">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table>
<tr>
<td><br />
<%#GlobalFunctions.PrepareTextForHTML(Eval("Text"))%>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ButtonType="Button" >
<ItemStyle VerticalAlign="Top" />
</asp:CommandField>
</Columns>
<PagerSettings Mode="NumericFirstLast" FirstPageText="First" NextPageText="Next" LastPageText="Last" />
</asp:GridView>


<asp:ObjectDataSource ID="odsGuestBook" SelectCountMethod="GetTotalReturnedEntries" EnablePaging="true" OldValuesParameterFormatString="original_{0}" runat="server" UpdateMethod="UpdateGBEntry" DeleteMethod="DeleteGBEntry" SelectMethod="GetGBEntries" TypeName="GuestBookDAL">

</asp:ObjectDataSource>


</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="gvGuestBook" EventName="PageIndexChanged"></asp:AsyncPostBackTrigger>
</Triggers>
</asp:UpdatePanel>I tested your codes in Visual Studio .Net 2005 with Ajax Beta 2 and found it worked fine.There was no any error taken place.Do you have any other settings in your Ajax website?Try to check the business logic layer and data access layer if there is error existed.
Try to check the web.config if it is similar to mine.
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="microsoft.web" type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="Microsoft.Web.Configuration.ScriptingSectionGroup, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="webServices" type="Microsoft.Web.Configuration.ScriptingWebServicesSectionGroup, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="Microsoft.Web.Configuration.ScriptingJsonSerializationSection, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"/>
<section name="profileService" type="Microsoft.Web.Configuration.ScriptingProfileServiceSection, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"/>
<section name="authenticationService" type="Microsoft.Web.Configuration.ScriptingAuthenticationServiceSection, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
<connectionStrings>
<add name="AspForumsConnection" connectionString="Data Source=.;Initial Catalog=Performancing;UID=sa;PWD=Infy_1001"
providerName="System.Data.SqlClient" />
<add name="ProductConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Product.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<pages>
<controls>
<add tagPrefix="asp" namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagPrefix="asp" namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
<tagMapping>
<add tagType="System.Web.UI.WebControls.CompareValidator" mappedTagType="Microsoft.Web.UI.Compatibility.CompareValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.CustomValidator" mappedTagType="Microsoft.Web.UI.Compatibility.CustomValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.RangeValidator" mappedTagType="Microsoft.Web.UI.Compatibility.RangeValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.RegularExpressionValidator" mappedTagType="Microsoft.Web.UI.Compatibility.RegularExpressionValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.RequiredFieldValidator" mappedTagType="Microsoft.Web.UI.Compatibility.RequiredFieldValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.ValidationSummary" mappedTagType="Microsoft.Web.UI.Compatibility.ValidationSummary, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</tagMapping>
</pages>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="true">
<assemblies>
<add assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies>
</compilation>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false"/>
</httpHandlers>
<httpModules>
<add name="WebResourceCompression" type="Microsoft.Web.Handlers.WebResourceCompressionModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptModule" type="Microsoft.Web.UI.ScriptModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax" />
</httpModules>
<!--<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="1" cookieName="PHPSESS_ID@.PLANETRE" cookieless="UseCookies"/>-->
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="Microsoft.Web.UI.ScriptModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler"/>
</handlers>
</system.webServer>
</configuration

Good to know that my code IS actually working..now I've got to get it working for me as well :)

I checked if paging was possible if I took the gridview out of the updatepanel...that works..so it seem my business logic is working fine...

I cecked my web.config but Im unsure what to look for...here it is, perhaps you see something weird?
What I did see was that often is referred to Version=1.0.61025.0, I see that the version of the:
C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\AJAXExtensionsToolbox.dll is 1.0.61025.0
while the version of my AjaxControlToolkit.dll (in the bin directory of my website) is 1.0.61020.0, but all my other AJAX stuff is working fine so that shouldnt be the problem right?

<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file you can use the
web admin tool to configure settings for your application. Use
the Website->Asp.Net Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments usually located in
\Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
<configSections>
<sectionGroup name="microsoft.web" type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="converters" type="Microsoft.Web.Configuration.ConvertersSection"/>
<sectionGroup name="scripting" type="Microsoft.Web.Configuration.ScriptingSectionGroup, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="webServices" type="Microsoft.Web.Configuration.ScriptingWebServicesSectionGroup, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="Microsoft.Web.Configuration.ScriptingJsonSerializationSection, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"/>
<section name="profileService" type="Microsoft.Web.Configuration.ScriptingProfileServiceSection, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"/>
<section name="authenticationService" type="Microsoft.Web.Configuration.ScriptingAuthenticationServiceSection, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
<microsoft.web>
<converters>
<add type="Microsoft.Web.Script.Serialization.Converters.DataSetConverter"/>
<add type="Microsoft.Web.Script.Serialization.Converters.DataRowConverter"/>
<add type="Microsoft.Web.Script.Serialization.Converters.DataTableConverter"/>
</converters>
</microsoft.web>
<appSettings>


</appSettings>

<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
Visual Basic options:
Set strict="true" to disallow all data type conversions
where data loss can occur.
Set explicit="true" to force declaration of all variables.
-->
<compilation debug="true" strict="false" explicit="true">
<assemblies>
<add assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies>
</compilation>
<pages maintainScrollPositionOnPostBack="true">
<controls>
<add tagPrefix="asp" namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagPrefix="asp" namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
<tagMapping>
<add tagType="System.Web.UI.WebControls.CompareValidator" mappedTagType="Microsoft.Web.UI.Compatibility.CompareValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.CustomValidator" mappedTagType="Microsoft.Web.UI.Compatibility.CustomValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.RangeValidator" mappedTagType="Microsoft.Web.UI.Compatibility.RangeValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.RegularExpressionValidator" mappedTagType="Microsoft.Web.UI.Compatibility.RegularExpressionValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.RequiredFieldValidator" mappedTagType="Microsoft.Web.UI.Compatibility.RequiredFieldValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagType="System.Web.UI.WebControls.ValidationSummary" mappedTagType="Microsoft.Web.UI.Compatibility.ValidationSummary, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</tagMapping>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
<add namespace="Samples.AccessProviders"/>
</namespaces>
</pages>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpHandlers>
<httpModules>
<add name="WebResourceCompression" type="Microsoft.Web.Handlers.WebResourceCompressionModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptModule" type="Microsoft.Web.UI.ScriptModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<urlMappings enabled="true">
<add url="~/Home.aspx" mappedUrl="~/Default.aspx?tabindex=0"/>
<add url="~/Forums.aspx" mappedUrl="~/Default.aspx?tabindex=1"/>
<add url="~/Faq.aspx" mappedUrl="~/Default.aspx?tabindex=2"/>
</urlMappings>
<authentication mode="Forms">
<forms name=".MyCookie" cookieless="AutoDetect" protection="All" loginUrl="Login.aspx" slidingExpiration="true" timeout="30" path="/">
<credentials passwordFormat="SHA1"/>
</forms>
</authentication>


<!--for cookies to work this must be enabled on client!-->
<roleManager enabled="true" cacheRolesInCookie="true" cookieName=".ASPXROLES" cookieTimeout="1" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" defaultProvider="AccessRoleProvider" createPersistentCookie="false" maxCachedResults="25">
<providers>
<clear/>
<add name="AccessRoleProvider" connectionStringName="SQLAuth" applicationName="/Cust" type="Samples.AccessProviders.AccessRoleProvider"/>
</providers>
</roleManager>
<membership defaultProvider="AccessMembershipProvider" userIsOnlineTimeWindow="10">
<providers>
<clear/>
<add name="AccessMembershipProvider" type="Samples.AccessProviders.AccessMembershipProvider" connectionStringName="SQLAuth" requiresQuestionAndAnswer="true" applicationName="/Cust" minRequiredPasswordLength="2" enablePasswordRetrieval="true" enablePasswordReset="true" requiresUniqueEmail="true" passwordFormat="Clear" description="Stores and retrieves membership data from SQL Server"/>
</providers>
</membership>

<customErrors mode="Off">
</customErrors>
</system.web>
<location path="Members">
<!--This tells ASP.NET that the path "/Members" (the lead / is always implied)
should deny access to all unknown users. When someone tries to access a page
in /Members they will instead be redirected to the login.aspx-->
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

</configuration


I find there are great differences between your web.config and mine.
1.My ajax control toolkit dll file version is 1.0.61121.0,but yours is 1.0.61020.0.That means mine is later than yours.Maybe this can not lead to the problem as you said in your first post because you don't use Ajax controls in your codes.
2.There are the following configuration in my web.config,but not in yours.Maybe this could cause the problem to take place.Try to add them in your web.config.
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="Microsoft.Web.UI.ScriptModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler"/>
</handlers>
</system.webServer>

3.Try to create a new Ajax enabled website to test your codes to check if it works.At least mine works fine now.
Wish the above can give you some helps.