Suggestion Box

It's so hard to come up with blog topics that I've decided to outsource the whole idea creation operation. What topics do you want to hear about? As with most people, I prefer talking about my own area of expertise and not just random ramblings. Here are the general topics I'm familiar with:

  • ASP.NET AJAX and the UpdatePanel control
  • Data source controls and parameters
  • Control designer framework
  • Web resources
  • Web control localization
  • Expression builders
  • A few core runtime components such as ControlBuilder

Please be as specific as you can instead of just "tell me more about SqlDataSource." Things I'm more inclined to answer are questions such as "why did you choose to do X instead of Y" and "I've never been able to figure out how to write a Z."

Published Wednesday, January 03, 2007 5:20 PM by Eilon

Comments

# re: Suggestion Box

Friday, January 05, 2007 1:30 PM by InfinitiesLoop

How about, why can't you use code expressions inline with server controls? You can obviously with the DataBinding expression <%# code %>, but you can't simply say <%= code %>. Using a custom expression builder it's only a few lines of code to enable this:

http://weblogs.asp.net/infinitiesloop/archive/2006/08/09/The-CodeExpressionBuilder.aspx

So I'm curious whether something like this was considered for the framework at one point, and if so, why it wasn't included. One disadvantage that expression builder has is that it doesn't work with NoCompile pages, but its so extremely useful for compiled pages.

# Suggestion Box - ASP.NET AJAX

Saturday, January 06, 2007 8:19 AM by Vlad Pitaru

I undestand that as System.Web.dll is built now you cannot use Response.Write() or override Page.Render() in partial page updates in Ajax that have an UpdatePanel on it.

Will you releave a fix for this?

# re: Suggestion Box

Sunday, January 07, 2007 5:53 AM by Steve

I would like some examples of how to use the ajax library on the client WITHOUT using the UpdatePanel to create a great UI.

e.g. Databinding.

BTW - the suggestion box is a great idea! :)

Thx

Steve

# re: Suggestion Box

Tuesday, January 09, 2007 3:20 PM by Marc Brooks

More about the needed fixes for ObjectDataSource (e.g. allowing it to acquire the object instead of creating exnilo).

# re: Suggestion Box

Friday, January 26, 2007 2:34 PM by Herr Ziffer

Eilon,

I had an etymological question about a pair of terms we all use.  Currently we talk about publishers and subscribers, but previously, and there are still vestiges of it everywhere, we used to talk about sources (for instance, data sources) and sinks.

"Publisher" and "subscriber" makes intuitive sense, and this may be why it has gained mindshare over "source" and "sink".  But since we still use source and sink in odd places, I wondered if you have any idea where these terms come from and what they originally described, on the premise that all metaphors ultimately, and originally, describe real things in the world.

We understand publisher and subscriber because we all have subscribed to magazines at some point, and maybe more importantly because this is one of the essential business models for monetizing the internet.  Source and sink, I assume, comes from the electrical engineering roots of software programming.  And before that?

# re: Suggestion Box

Friday, February 02, 2007 5:15 PM by Laurent

Hi,

I think the code you wrote here do not work with AJAX RTM bits :

"Buying Into Microsoft ASP.NET AJAX without Necessarily Paying For It"

http://weblogs.asp.net/leftslipper/archive/2006/11/13/HOWTO_3A00_-Write-controls-compatible-with-UpdatePanel-without-linking-to-the-ASP.NET-AJAX-DLL.aspx

Can you confirm this ?

Can you write a fix ?

Thanks!

# re: ajax browser.

Wednesday, February 21, 2007 12:41 AM by kmeyer

I couldn't get your class browser to work with the Asp.net Ajax v1.0 until I copied a web.config from a project I created in the Visual Studio using the  "Ajax Enabled Website" template.  For example:

<?xml version="1.0"?>

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

 <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>

 <system.web>

   <pages>

     <controls>

       <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

     </controls>

   </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="false">

     <assemblies>

       <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

     </assemblies>

   </compilation>

   <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"/>

   </httpHandlers>

   <httpModules>

     <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

   </httpModules>

 </system.web>

 <system.web.extensions>

   <scripting>

     <webServices>

     <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->

     <!--

     <jsonSerialization maxJsonLength="500">

       <converters>

         <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>

       </converters>

     </jsonSerialization>

     -->

     <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->

     <!--

       <authenticationService enabled="true" requireSSL = "true|false"/>

     -->

     <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved

          and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and

          writeAccessProperties attributes. -->

     <!--

     <profileService enabled="true"

                     readAccessProperties="propertyname1,propertyname2"

                     writeAccessProperties="propertyname1,propertyname2" />

     -->

     </webServices>

     <!--

     <scriptResourceHandler enableCompression="true" enableCaching="true" />

     -->

   </scripting>

 </system.web.extensions>

 <system.webServer>

   <validation validateIntegratedModeConfiguration="false"/>

   <modules>

     <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

   </modules>

   <handlers>

     <remove name="WebServiceHandlerFactory-Integrated" />

     <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"

          type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

     <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"

          type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

     <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

   </handlers>

 </system.webServer>

</configuration>

# re: Suggestion Box

Saturday, April 21, 2007 2:13 PM by Clayton Carney

Eilon,

The SqlDataSource control is an excellent tool for RAD.  I just can't find a way to make it work with a SelectCommand that calls an Oracle stored procedure which returns a SYS_REFCURSOR.  I suspect the problem is that you can not specify the Parameter Type as OracleType.Cursor.  It appears T-SQL will return a cursor by default, but PL/SQL requires an explicit parameter.  I've spent hours searching for answer, but have come up empty-handed.

Since you are the author of this control, perhaps you can provide some insight on this issue.  Is this feasible?  If so, could you point me in the right direction to develop a solution?

Thanks,

Clayton

# re: Suggestion Box

Sunday, June 15, 2008 12:00 PM by vgiambattista

Eilon,

I recently downloaded Drip 5.0 to test for memory leaks, and it appears that elements inside an update panel always constantly getting javascript references created to them which are not disposed.  The leak is slow and small, but it is constant.  Is there a way to fix this?  Or is Drip giving a false diagnosis?

James

Leave a Comment

(required) 
(required) 
(optional)
(required)