C# - Performing A Response.Redirect From A Non-Web Based Project?
Jul 13, 2010
I have created a utility method that contains some try/catches in it. In those try/catches I need to redirect the customer using an HttpResponse redirect. I can't seem to figure out how to do this outside a web project. This utility class is referenced from my ASP.NET web project and so I'm just abstracting out some of the code into this utility class so I no longer have the request object.
I know I can use HttpWebRequest object for a lot of web related request tasks outside a web project, but could not seem to get any redirect method there to use after putting in a using System.Net; in my utility class.
In the web app (C#, ASP.NET) I am working on at the moment, the value in Request.Headers["Referer"] can determine things like custom style. I have created a custom page with a drop down menu to test this functionality. So when the selected index changes, the value selected should be set in the Request.Headers["Referer"] then will be redirected (Response.Redirect), the receiving page will then pick up the value in Request.Headers["Referer"] and adjust the styling accordingly. However I haven't been able to set value for Request.Headers["Referer"]. Is it possible at all?
Website 1 sets the value in Request.Headers["Referer"], e.g. www.xyz.com and before doing Response.Redirect to www.website2.com
Website 2 picks up value in Request.Headers["Referer"], in this case www.xyz.com and do what it needs to do, i.e. styling etc.
I'm learning about storing state in 'TempData' when performing the PRG (Post-Redirect-Get) pattern. It says TempData stores session state on the server. I'm wondering if this is safe or unsafe in a load-balanced server farm?
Are there precautions to be taken with TempData? Or can we happily program against it with abandon. Just wanting to avoid the frights we all got with the Session back in the day with ASP.NET of old.
Each virtual directory is configured on IIS6.0 as an application with own AppPool.
When redirecting authenticated user from dir1 to dir2 using response.redirect I lose authentication information for the user and the user is being redirected to the login page. This issue was not coming up with each app (dir1 and dir2) were configured under subdomain, ex: [URL]
I have resolved the issue by adding a machine key to the machine.config file.
I want to redirect to "~/City/Göteborg", but if I just write Response.Redirect("~/City/Göteborg"); I will end up with an ugly URL in the address-bar like this: http://www.mysite.com/City/G%c3%b6teborg..
So my question is how to redirect to obtain a clean url like http://www.mysite.com/City/Göteborg?
if ((Request.QueryString["UbytovaniePrispevokID"].ToString()) == "")[code]......
What i want to do is.. I have one main page with new posts Each subject of the new post is the link to Another page where is Specific post and coments and user can leave a coment.
What I want is when the Request.QueryString["UbytovaniePrispevokID"].ToString()) == "" or null I want to redirect to error page ...
Is it necessary to call Response.End() after Response.Redirect(url) Update for all the answers. Because some answers say that it's necessary and others say no, I have searched more and have found in msdn under remarks the following: Redirect calls End which raises a ThreadAbortException exception upon completion.
i know some thing about the MVP pattern... but when you want to develop a project(web project) based on the MVP pattern from where we need to start... i mean which component we need to start developing first ... Model or View or Presenter... what are the points that we need to keep in mind....
I am working on a website that I inherited (ASP.NET and C#), and I noticed that in almost EVERY method in the code behind of the project pages (except some helper methods), the original author uses Response.Redirect() to redirect to a page (typically home.aspx, but not always).
What is the purpose of doing this? It seems unneeded to me - at least it doesn't appear to change anything the website is doing if I keep it in or remove it.
I have a flash image slider with a button below each image. When i press that button, the user is redirected to a new page where i add that image product to my cart. The problem is that after doing the adding, i want to redirect the user back to the initial page.
note that in Firefox is working fine but in IE or Chrome it is DOWNLOADING the swf...If i comment Response.Redict(...) the user remains on this page so the click button is working well, only the redirect seems to be the problem.
Edit: The problem seems to be that Request.UrlReferrer keeps as link not the initial page containing the swf but the swf itself.
So, instead of doing redirect to:[URL] if does redirect to the swf contained on the Index.aspx page[URL]
Solved: with a session variable where i keep the initial page's url
I recently upgraded a web app to ASP.NET 4.0 , but I have to downgrade it back to 2.0, because the Response.Redirect from another web app, which is in ASP.NET 2.0, did not work.
I'm looking at creating a simple URL shortening service for our corporate intranet, and I'm curious if anyone knows if there's a maximum length for URLs returned by ASP.NET's Response.Redirect method?
I am working with ASP.net MVC 2 framework, for multiple sites. We have a base site and then sub sites that inherit from a "Core" site that contains 90% of the functionality that the sub sites will use.
In one of the controllers, I am saving some data, adding a UI message to the tempData and then using Response.Redirect.
The redirect works, but the tempdata is empty after the redirect.
I have tried returning "RedirectToAction" and "RedirectToRoute" with the same routing location and while it populates the TempData, the redirect doesn't happen lol..
So I guess in short, is there a way to get tempdata working when using a standard Response.Redirect?
Is it possible to pass on variables in response.redirect in a query string kind of way (without using form and submit).
If yes, what is the format?
I want to pass some variable (from a text box) from a classic asp page to .aspx page and this is what I am trying to do (I could not use session variables since classic asp and .NET asp share different sessions)-
I've just finished reading URL vs. URI vs. URN, in More Concise Terms, and it's really helped understand the distinction between the three terms. Since then I've skimmed the RFC2141 and RFC2616 specs and Microsoft's Response.Redirect Method documentation in an effort to answer the following question confidently.
Given this line of code:
Response.Redirect("~/Foo.aspx");
And this resulting HTTP response (trimmed for context):
What this code does at the end is Redirects to a direct download, and THEN afterwards, to a "tutorial page" on how to use the download. I can't seem to use these back to back. I've even used Response.Redirect(tutorialURL, false) so it wouldn't terminate processing, but it didn't work. It just STOPPED page processing. I've tried to use the Sleep() method of the Threading namespace, no luck. I'm sure there's an easy way to do this, I just don't know what it is.
I'm trying to get the previous page URL after I do a response write and i've looked around the web and people are using HTTP_REFERER but that doesn't work with Response.Redirect so is there anyway to get the URL of the previous page?
I have this code on a few pages and i need to know which page it is coming from when it gets to the servererror/default.aspx page
Response.Redirect("servererror/default.aspx?404")
And on my servererror/default.aspx page i'm just trying to grab the previous page URL and put it into the Session Session("ErrorPage")