Hi,
I need to display a seperate error page (off a try...catch block) in
ASP.NET.
Response.Redirect and Server.Transfer won't work in this case because
they replace the
old page with a new one and I want both pages to be displayed (error
page on top of course).
An alternate question is; how can I call a javascript function from an
ASP.NET method?
That way I can simply use the window.alert("error message here");
javascript function.
Thanks
Steve
Eliyahu Goldin - 07 Jun 2007 16:16 GMT
This may help you:
How to Pass Messages and Actions between Server and Client
http://usableasp.net/DeveloperPage.aspx?page=Articles/HowTo/HowToPassMessagesBet
weenServerAndClient.htm

Signature
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
> Hi,
>
[quoted text clipped - 12 lines]
> Thanks
> Steve
bruce barker - 07 Jun 2007 16:16 GMT
this can only be done in javascript. you need to understand the web
model. the browser request a page, asp.net process the request and sends
back an html document. the doc header can contain a redirect command,
but there is no open window command. your return document can contain
inline javascript that is executed when the browser renders the page.
<script>window.alert('hi');</script>
in the old days before popup blockers, the inline javascript could open
a window.
-- bruce (sqlwork.com)
> Hi,
>
[quoted text clipped - 12 lines]
> Thanks
> Steve
CitrusMotors.com - 07 Jun 2007 17:43 GMT
> Hi,
>
[quoted text clipped - 12 lines]
> Thanks
> Steve
You could always display the error, then auto-redirect after x
seconds, or a user click
in side js block...
function redirTimer( sURL, iSecondsDelay){
self.setTimeout("self.location.href='" + sURL + "';",
iSecondsDelay);
//show(false,'testJava');
}
or
open a new window after page load (pop up blockers could be
problematic like bruce mentioned.
function popWin1(url, thePreference)
{
// Create offset
if (document.all) {
xMax = screen.width;
yMax = screen.height;
}
else {
if (document.layers) {
xMax = window.outerWidth;
yMax = window.outerHeight;
}
else {
xMax = 400;
yMax=480;
}
}
var xOffset = (xMax - 586)/2;
var yOffset = (yMax - 700)/2;
thePreference = thePreference + ',screenX='+xOffset
+',screenY='+yOffset+',top='+yOffset+',left='+xOffset
+'resizable=true,scrollbars=yes';
// alert("Preference = " + thePreference);
if (typeof(popupWin) != "object"){
popupWin = window.open(url, 'window2', thePreference);
}
if (popupWin.closed){
popupWin = window.open(url, 'window2', thePreference);
}
if( popupWin.opener == window) {
popupWin.focus();
return;
}
return;
}