Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > server-side timer vs. meta refresh

Reply
Thread Tools

server-side timer vs. meta refresh

 
 
Jim Hammond
Guest
Posts: n/a
 
      10-24-2003
After much effort, it doesn't seem possible to redirect the user to a new
page after 10 seconds by using a server-side timer. I am now using the
following meta statement to accomplish the same thing:

<META HTTP-EQUIV="refresh" content="10;URL=Form_Welcome.aspx">

This seems to work fine, but I now have three concerns because I thought it
was supposed to be possible to do everything in C#.
1. Note that Visual Studio lets the developer drag and drop a timer onto the
web form, which now seems like a pointless feature.
2. Will server-side code know how to handle the redirection caused by the
META tag as well as if I had used C#?
3. I manually edited the .aspx file, which means that my code is not as
clean and is harder to maintain.

Jim


 
Reply With Quote
 
 
 
 
Alvin Bruney
Guest
Posts: n/a
 
      10-24-2003
Well it is possible, but this can be easier and cleanly accomplished on the
client side since you are implying that after some event of time period on
the client, it should redirect itself somewhere else. This is not really a
server side concern, but rather a client side issue, hence the solution
should probably be a client side solution.

It isn't pointless. It just doesn't work cleanly in your situation. Here's
one scenario where it comes in. If you want clean up on the server after a
scheduled amount of time, a timer is a very good avenue. Notice, this would
be a server side solution not requiring client-side interference.

The redirection is handled just as if it were server transfer or redirect.

that's the disadvantage of using the inline code method.

--


-----------
Got TidBits?
Get it here: www.networkip.net/tidbits
"Jim Hammond" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> After much effort, it doesn't seem possible to redirect the user to a new
> page after 10 seconds by using a server-side timer. I am now using the
> following meta statement to accomplish the same thing:
>
> <META HTTP-EQUIV="refresh" content="10;URL=Form_Welcome.aspx">
>
> This seems to work fine, but I now have three concerns because I thought

it
> was supposed to be possible to do everything in C#.
> 1. Note that Visual Studio lets the developer drag and drop a timer onto

the
> web form, which now seems like a pointless feature.
> 2. Will server-side code know how to handle the redirection caused by the
> META tag as well as if I had used C#?
> 3. I manually edited the .aspx file, which means that my code is not as
> clean and is harder to maintain.
>
> Jim
>
>



 
Reply With Quote
 
 
 
 
mikeb
Guest
Posts: n/a
 
      10-25-2003
Jim Hammond wrote:

> After much effort, it doesn't seem possible to redirect the user to a new
> page after 10 seconds by using a server-side timer. I am now using the
> following meta statement to accomplish the same thing:
>
> <META HTTP-EQUIV="refresh" content="10;URL=Form_Welcome.aspx">
>
> This seems to work fine, but I now have three concerns because I thought it
> was supposed to be possible to do everything in C#.
> 1. Note that Visual Studio lets the developer drag and drop a timer onto the
> web form, which now seems like a pointless feature.


There are uses for timers on the server-side. It doesn't happen to fit
our application well, however.

> 2. Will server-side code know how to handle the redirection caused by the
> META tag as well as if I had used C#?


I'm not sure what you're asking... The server doesn't really know
anything about the redirection. The browser simply makes a request to
the URL specified in meta tag. If the URL is pointing back to the same
server, then the server will be aware of it. If the URL points
somewhere else, then the server will never know.

> 3. I manually edited the .aspx file, which means that my code is not as
> clean and is harder to maintain.


You can handle the meta tag using C# code-behind techniques by giving
the meta tag an id attribute and a runat="server" attribute. Then in
the code-behind, declare an HtmlGenericControl in your Page class with
the same name as the meta tag's id attribute.

Now you can add the HTTP-EQUIV and content attributes using C# code.
This will let you dynamically control how long the refresh time is, and
where the redirection will go. You could also remove the meta tag
altogether (if you don't want the redirection) by setting the Visible
property to false.

Finally you can use C# to inject Javascript into the page (using
RegisterClientScriptBlock() and/or RegisterStartupScript()) which would
perform the refresh, if you'd rather not use the meta tag - this would
give you additional possibilities for handling the redirection.

>
> Jim
>
>


Controlling the client in a disconnected web browser model is
significantly different from controlling the client in a Windows
application or dedicated, connected client application model.

--
mikeb

 
Reply With Quote
 
David
Guest
Posts: n/a
 
      10-25-2003
In article <(E-Mail Removed)>, mikeb wrote:
> Jim Hammond wrote:
>
>
>> 3. I manually edited the .aspx file, which means that my code is not as
>> clean and is harder to maintain.

>
> You can handle the meta tag using C# code-behind techniques by giving
> the meta tag an id attribute and a runat="server" attribute. Then in
> the code-behind, declare an HtmlGenericControl in your Page class with
> the same name as the meta tag's id attribute.


Or in this case, since it's an HTTP-EQUIV, you can just add the header
directly and forget about the meta tags altogether.

Response.AppendHeader("Refresh", "3; URL=/some/url/here")


Although, in the general case, I don't really see manually editing the
..aspx file as A Bad Thing.

--
David
dfoster at
hotpop dot com
 
Reply With Quote
 
mikeb
Guest
Posts: n/a
 
      10-27-2003
David wrote:

> In article <(E-Mail Removed)>, mikeb wrote:
>
>>Jim Hammond wrote:
>>
>>
>>
>>>3. I manually edited the .aspx file, which means that my code is not as
>>>clean and is harder to maintain.

>>
>>You can handle the meta tag using C# code-behind techniques by giving
>>the meta tag an id attribute and a runat="server" attribute. Then in
>>the code-behind, declare an HtmlGenericControl in your Page class with
>>the same name as the meta tag's id attribute.

>
>
> Or in this case, since it's an HTTP-EQUIV, you can just add the header
> directly and forget about the meta tags altogether.
>
> Response.AppendHeader("Refresh", "3; URL=/some/url/here")
>
>
> Although, in the general case, I don't really see manually editing the
> .aspx file as A Bad Thing.
>


Good call.

I'd agree that editing the aspx file is not necessarily a bad thing - in
fact, it would be my preference if the refresh should be there
unconditionally.

The Response.AddHeader() approach would be the best for dynamically
adding the redirection.

--
mikeb

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Meta-Meta-Programming, revisited Erik Veenstra Ruby 21 07-25-2006 10:26 PM
Meta-Meta-Programming Erik Veenstra Ruby 29 02-08-2006 08:22 PM
Meta methods to govern meta data? Duane Johnson Ruby 6 10-28-2005 03:57 AM
Resetting Timer on <meta http-equiv="refresh" George Durzi ASP .Net 3 04-28-2005 03:13 AM
META NAME and META HTTP-EQUIV Nym Pseudo HTML 1 09-26-2003 09:13 AM



Advertisments