How to raise a server-side event asynchronously?
am 10.04.2008 17:06:42 von Ahmet Gunes
Hello,
I am trying to develop my own AJAX Framework.
Actually this framework will allow field-based validation without using
Validation Controls.
For example, let's have a webform with 2 text boxes (txtFirstName,
txtLastName) and 2 dropdownlists (ddlCountryOfBirth, ddlCityOfBirth).
Let's assume that the tab order of these controls is txtFirstName,
txtLastName, ddlCountryofBirth, ddlCityOfBirth.
Each of these 4 controls have a server-side validation code in TextChanged
events of textboxes and SelectedIndexChanged events of dropdownlists.
Here is a simple scenario:
1. User enters his first name and clicks the TAB key.
2. An ajax request goes to server side and runs the associated TextChanged
event of txtFirstName.
3. If the first name is valid a success message is sent to client and the
cursor is placed in the txtLastName field, else an error message will be
shown to the user and the cursor will be placed into txtFirstName
4. Assuming first name is valid, user enters his last name
5. An ajax request goes to server side and runs the associated TextChanged
event of txtLastName.
6. If the last name is valid a success message is sent to client and the
cursor is placed in the ddlCountryOfBirth field, else an error message will
be shown to the user and the cursor will be placed into txtLastName
7. etc.
Please note that the web form will be designed like a normal web form.
But all requests to this web form, other than the very first request, should
only run the corresponding server-side event handler.
I have been studying the ASP.NET request pipeline for the last few days and
have learned about several interfaces (IHttpHandler, ICallbackEventHandler,
etc) and events (OnInit, OnInitCompleted, OnPreRender, OnRender, etc).
I wonder if anybody has a brilliant solution to this scenario...
Thanks in advance,
Ahmet Gunes, PMP, MCSD, MSF
RE: How to raise a server-side event asynchronously?
am 10.04.2008 21:22:00 von brucebarker
for validation, I'd use a webservice. ajax is async, so while you can fire on
the tab, the call will not return before the tab goes to the next field. if
the user types fast, they can fill in two fields before the first validation
request returns.
-- bruce (sqlwork.com)
"Ahmet Gunes" wrote:
> Hello,
>
> I am trying to develop my own AJAX Framework.
> Actually this framework will allow field-based validation without using
> Validation Controls.
> For example, let's have a webform with 2 text boxes (txtFirstName,
> txtLastName) and 2 dropdownlists (ddlCountryOfBirth, ddlCityOfBirth).
> Let's assume that the tab order of these controls is txtFirstName,
> txtLastName, ddlCountryofBirth, ddlCityOfBirth.
> Each of these 4 controls have a server-side validation code in TextChanged
> events of textboxes and SelectedIndexChanged events of dropdownlists.
>
> Here is a simple scenario:
> 1. User enters his first name and clicks the TAB key.
> 2. An ajax request goes to server side and runs the associated TextChanged
> event of txtFirstName.
> 3. If the first name is valid a success message is sent to client and the
> cursor is placed in the txtLastName field, else an error message will be
> shown to the user and the cursor will be placed into txtFirstName
> 4. Assuming first name is valid, user enters his last name
> 5. An ajax request goes to server side and runs the associated TextChanged
> event of txtLastName.
> 6. If the last name is valid a success message is sent to client and the
> cursor is placed in the ddlCountryOfBirth field, else an error message will
> be shown to the user and the cursor will be placed into txtLastName
> 7. etc.
>
> Please note that the web form will be designed like a normal web form.
> But all requests to this web form, other than the very first request, should
> only run the corresponding server-side event handler.
>
> I have been studying the ASP.NET request pipeline for the last few days and
> have learned about several interfaces (IHttpHandler, ICallbackEventHandler,
> etc) and events (OnInit, OnInitCompleted, OnPreRender, OnRender, etc).
> I wonder if anybody has a brilliant solution to this scenario...
>
> Thanks in advance,
>
> Ahmet Gunes, PMP, MCSD, MSF
>
>
>
>