p2p.wrox.com Forums

p2p.wrox.com Forums (http://p2p.wrox.com/)
-   BOOK: Professional ASP.NET 2.0 and Special Edition; ISBN: 978-0-7645-7610-2; ISBN: 978-0-470-04178-9 (http://p2p.wrox.com/book-professional-asp-net-2-0-special-edition-isbn-978-0-7645-7610-2-isbn-978-0-470-04178-9-229/)
-   -   Response.Redirect in c# class. (http://p2p.wrox.com/book-professional-asp-net-2-0-special-edition-isbn-978-0-7645-7610-2-isbn-978-0-470-04178-9/42364-response-redirect-c-class.html)

manish.sharma04 May 10th, 2006 11:55 AM

Response.Redirect in c# class.
 
hi,
I have one class library project created, there is one class BaseUIController in that, I want to write Navigate() method in the class would work as good as Response.Redirect("URL")
Function declaration is:
public void NavigatePage(string URL)
{

}

Please tell me how can I implement it, because System.Web.UI is not avaliabe in class library type projects, so I can'nt use Response.Redirect(URL).
Please guide me.

Thanks is advance,
manish


Imar May 10th, 2006 01:28 PM

Hi manish,

From a good design perspective, you should let the class library simply return a value that you use to determine where to redirect to in the presentation layer (the .aspx pages). By letting the class library redirect users, you tie it to a web application, which limits its reuse possibilities.

That said, you can add a reference to System.Web in your class library. Then you access objects like Response and Session in the class library like this:

System.Web.HttpContext.Current.Response.Redirect(" SomePage.aspx");

Note that this method will fail when it's accessed from outside a Web app (e.g. a Console app, Windows Forms etc)

HtH,

Imar
---------------------------------------
Imar Spaanjaars
Everyone is unique, except for me.
Author of ASP.NET 2.0 Instant Results and Beginning Dreamweaver MX / MX 2004

manish.sharma04 May 12th, 2006 02:20 AM

Thanks Imar!
-Manish


Red_October7 October 30th, 2007 06:33 AM

Hi Imar,
I tried using the system.web.httpcontext.current.response.redirect(" mypage.aspx"); in the class library... but in runtime, its specifying that the object is null and not set to an instance. any ideas??? what do i need to do as alternative.

thanx in advance. please reply asap...
RO

Imar October 30th, 2007 04:53 PM

Hi there,

Can you show us your exact code and explain where it is being called?

Imar


---------------------------------------
Imar Spaanjaars
http://Imar.Spaanjaars.Com
Everyone is unique, except for me.
Author of ASP.NET 2.0 Instant Results and Beginning Dreamweaver MX / MX 2004

testuser13 February 11th, 2011 04:29 PM

I have the same issue as Red_October. I have a button and the code behind for the button is
HttpContext.Current.Response.Redirect("URL", false);
when click on the button, system give this error "Object reference not set to an instance of an object"

can anyone help me with this issue?

Imar February 12th, 2011 05:41 AM

If you have the same issue as Red_October, the same response to the question applies ;-)

Quote:

Can you show us your exact code and explain where it is being called?

That is, explain the setup of your site / application, and show us the code for the page.

Cheers,

Imar

testuser13 February 12th, 2011 09:20 AM

I have a SharePoint site http://moss2007
I have a page on this site call ViewMyStaff.aspx (this is just a blank webpart page). when the user clicks on the button, system should take me to http://moss2007/Pages/ViewMyStaff.aspx page. The form library is in the same site collection as this page

httpcontext.current.response.redirect("http://moss2007/pages/ViewMyStaff.aspx", false)

Thanks in advance,

Imar February 13th, 2011 10:26 AM

You may be better off posting this in a SharePoint category, and provide more code that demonstrates the problem.

Cheers,

Imar

JafarKofahi February 16th, 2012 01:13 PM

Hi Imar,

I have the same problem, in my case I am trying to do the redirect from a VB.Net module, here is the code:

Code:

Public Sub ShowEPSErrorPage(Optional ByVal strErrorMessage As String = gGenericErrorMessage,Optional ByVal strDetailedMessage As String = "")

            HttpContext.Current.Session.Add(ErrorPage.SA_ERR_MESSAGE, strErrorMessage)
            HttpContext.Current.Session.Add(ErrorPage.SA_DETAILS_MESSAGE, strDetailedMessage)
            HttpContext.Current.Response.Redirect("/ErrorPage.aspx")
End Sub

I have System.Web imported and as I said this is in a module which is part of my web application.

When I debug this, sometimes the debugger will be able to evaluate HttpContext.Current and sometimes it would tell me "Unable to evaluate expression", but either way this throws an exception with a message "Unable to evaluate expression"!! the path is proper so I am not sure what am I missing or doing wrong?

Thanks
Jafar


All times are GMT -4. The time now is 12:43 AM.

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
2013 John Wiley & Sons, Inc.