Web Forms :: Redirect Custom Page While Error No 401.2 Occur
Nov 10, 2010
I have developed .net web application. When i change the page name(Which is not exist) in URL, it throws following error msg. I could not redirect the error page for respected error no(401.2..) Through IIS Admin and web config. Could anybody give appropriate solution. It is urgent. Access is denied. Description:
An error occurred while accessing the resources required to serve this request. The server may not be configured for access to the requested URL. Error message 401.2.: You do not have permission to view this directory or page using the credentials you supplied. Version Information: Microsoft .NET Framework Version:1.1.4322.2470; ASP.NET Version:1.1.4322.2470
Suppose my url is in the following way: http://MyTestSite/Posts/Post1.aspx
If I remove the .aspx at the end manually then it is not displaying my customm error page instead it is dispalying default 404 error page : Page cannot be found.
Also, if I give http://MyTestSite/Posts the same 404 error message is displaying. Even the Application_Error event in global.aspx is unable to handle this error.
How can I redirect these type of cases to my custom error Page? Do I need to make any changes in IIS default errors or can I able to acheive only using web.config?
I want to show a "Custom error page" when i type a non-existing .aspx or .html page in my application. I had followed the same steps in the link [URL] for the HTML pages also but it is working for .aspx pages but not working for .html pages if I enter any non-existing pages. I had added the path of "aspnet_isapi.dll" for the .html extension in the IIS. I also ensured that the check box "Verify file exists" is unchecked while adding the ".html" entry in the "configuration" of the "Home directory" of the website in the IIS but still it is not working.
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 ...
I am trying to use the Application_Error to redirect the user to a custom error page. I know I could use the web.config to do this, but let's assume for now that this is not a desirable path to take.
Initially, I tried to do a Response.Redirect to perform this, however, there seem to be occasions where the current http context does not define the response object. So, I attempted to perform a check to make sure that the response object is not null prior to attempting the redirection, and if it is not defined, perform a Server.Transfer instead.
What happens is that in most cases, the Redirect causes the browser to some generic "friendlyish" error page rather than the requested error page.
So then I tried using Server.Transfer exclusively, and this worked well for most cases, however, sometimes the transfer didn't seem to take in the browser. Changing it back to a redirect in these cases solved that problem, but reintroduced the issue where the errors previously being captured and transferred now were being redirected.
What I surmised from this is that in certain contexts where the Application_Error method is trapped, it is necessary to use Server.Transfer in redirection, whereas in others, it is necessary to use Response.Redirect. The question then became twofold: (a) When is one necessary and when is the other? and (b) What available information can I poll to tell me when a given condition exists.
After much searching, I cannot find a reasonable answer to this question. So I began to trap errors and examine the HttpContext object for some indicator. One thing that I was looking for is the reason why if even with a defined Response in the current context does a redirect fail. The only thing that stood out is that even though a Response object may exist, the Session data could be absent. I added the case to check whether the Session data was null and perform a Transfer in this case and it seems to be handling it properly.
I emphasize "seems to be handling it properly" because no documentation I've been able to find confirms either the problem I am having or whether this is an appropriate strategy for solving it.
I guess the question is, am I on the right track here or is the null Session object just a red herring, indicative of nothing relevant. Here's the check I have set up for reference.
I have a data driven asp.net website with frames on the top, left, right and center screen. If a page generates an error on any of the frames, I want to redirect the whole site back to the Default.aspx. Currently, when a frame page errors in one of the frames, that frame gets the error pages. Site is URL.... Is this something that can be handled?
In my application a mail message send to particular recipeeient with msg body contains a hyper link.. when the recipent click on this link,it will redirect to another form(InternalForm.aspx)... bt when clicking the link error is occured,whuy its happening???? In InternalForm.aspx,page load portion access the link content(badgeno).. page load portion code of InternalForm.aspx is shown below:-
I have serveral long ASP.Net pages, I use RequiredFieldValidator, RegularExpressionValidator and ValidatorCalloutExtender for validations, Submit buttons are typically at the bottom of the pages. The problem I have: if the errors happen at the top portion of the page when Submit buttons are clicked, the forms do not scroll to the top automatically, the users have to scroll up to see the ValidatorCalloutExtender.
I'm having trouble with an image button I create via c# in an event causing page validation to occur on postback. The CausesValidation attribute is set to false at time of creation in the event. I also wire up the Click event in the page_init with postback so not to loose the event handler if the page posts another way. Here is the code I'm using in the click event of a Button. I've also tried to enable and disable viewstate for the button with no luck. What am I missing here that continues to fire page validation in the Click of this imagebutton?
I have been using a function that replaces some characters from my editor in asp.net with '+CHAR(x)+' to chain together a string with characters such as single quote that would otherwise break the query, i know how to escape the character using double single quote but i was wondering why i get this problem.The problem is that when the string gets too long about 7kb to 8kb its gets cut off for no reason, no error message gets displayed, the query is successful only the string cuts off at a point. When i escape the character without using '+CHAR(x)+' to add the character i can add a very long string that does not cut off,i am using Varchar(max) for my field, (have also tried text).I am using sql 2008 express edition, and encounter this problem when i paste the generated query into sql management studio, and when i execute the query fromasp.net code.
I'm having a wicked time trying to redirect the different error scenarios to a custom error page. Basically, I have put some code in Application_Error in global.asax, and done the necessary web.config settings to use Custom Errors.
In global.asax on Application_Error, I stored the Server.GetLastError in Session. The reason I have to store it in Session is because (as far as I know) you lose the exception when using "ResponseRedirect". And the reason I have to use ResponseRedirect is because I am using an UpdatePanel with AJAX calls, and any exception during the AJAX call shows up as a JavaScript error, and doesn't get handled using the custom error page (see this post).
void Application_Error(object sender, EventArgs e){ ////must perform this check to avoid the "Session state is not available in this context" errors if (HttpContext.Current.Session != null) { Session["LastException"] = Server.GetLastError(); } else { // (I think this happens when there are compile-time errors) Server.Transfer("~/Oops.aspx"); }}void Session_Start(object sender, EventArgs e){ //must perform this check to avoid the "Session state is not available in this context" errors if (HttpContext.Current.Session != null) { //initialize the session (http://forums.asp.net/t/1405077.aspx) Session["LastException"] = ""; }}
I am trying to handle the unhandled exceptions in my project.I tried with this following code in my web.config filebut it is not at all redirecting to an error page which i have created instead of that it is throwing an exception in my code itselef. How to print the error description over therein my custom error page.
I am showing Custom Error in my page.if somehting happend wrong. but if the same error occured in my subview master page I am not able to show the Custom error page on Entire page its showing me that Error page under subview master page.I am attching the Screen shot.Can any body help me out how to show the Error page on entire page if something happend in any where submaster or other page.Here is the code that I am using in web config file to show custom Error page..
[CODE]...
Here I know the issue what's going on.This issue is occurring because i am using AJAX to partially load the contents of the tabs after the initial page load so the error is occurring AFTER my master page has been loaded.What I need to do is provide a javascript function to handle the error after the ajax call has returned and redirect to the error page.How to write this Javascript and where Do I need to write this?
When I tested web site on SEO Tools in IIS7 I get this SEO Error: The page contains multiple canonical formats. The page with URL "[URL]" can also be accessed by using URL "[URL]".Search engines identify unique pages by using URLs. When a single page can be accessed by using any one of multiple URLs, a search engine assumes that there are multiple unique pages. Use a single URL to reference a page to prevent dilution of page relevance. You can prevent dilution by following a standard URL format.
Recommended action: Pick a canonical URL format for your site and then ensure that all the links in your site follow that format. (For example, always use lowercase letters.) If an external link that points to your site does not use the canonical URL format, use permanent HTTP redirection to redirect site visitors and search engines to a canonical equivalent of that URL.
I tried to solve this by redirect page to a default.aspx. The problem is that HttpContext.Current.Request.Url.ToString(), always shows [URL] So I can't detect if url typed in browser is only [URL] or [URL] I know that that can be solved in IIS7, but I can't access it to do that in hosting server. Is any solution in ASP.NET to redirect to default page any time when in browser is typed only domain name?
Here's my Application_OnError event sink in global.asax.vb:
Sub Application_OnError(ByVal sender As Object, ByVal e As EventArgs) Dim innerMostException As Exception = getInnerMostException(Me.Context.Error) If TypeOf innerMostException Is AccessDeniedException Then Security.LogAccessDeniedOccurrence(DirectCast(innerMostException, AccessDeniedException)) Dim fourOhThree As Integer = DirectCast(HttpStatusCode.Forbidden, Integer) Throw New HttpException(fourOhThree, innerMostException.Message, innerMostException) End If End Sub
You'll see that if we've got an innermost Exception of type AccessDeniedException we throw a new HTTPExcpetion with a status code of 403 AKA 'forbidden'
So what we're expecting is a redirect to the AccessDenied.aspx page. What we get is a redirect to the ServerError.aspx page.
We've also tried this:
Sub Application_OnError(ByVal sender As Object, ByVal e As EventArgs) Dim innerMostException As Exception = getInnerMostException(Me.Context.Error) If TypeOf innerMostException Is AccessDeniedException Then Security.LogAccessDeniedOccurrence(DirectCast(innerMostException, AccessDeniedException)) Context.Response.StatusCode = DirectCast(HttpStatusCode.Forbidden, Integer) End If End Sub
I've a got an Asp.Net site that is using Forms authentication, I've also got custom errors configured in the web.config. One of these is a special error page for 403's (access denied). My question is how do I get Forms authentication to work smarter?
I would like Forms authentication to send users to login page only if they are not authenticated. If they are I want it to defer to the custom error pages that i've defined in the web.config. This seems like something very basic, how can this be achieved?
and I have Error.aspx page under Shared Folder in my application..now My question is Do i need to do anything with Global.ascx file to route?if so how to route? waht exactly need to define in my global.ascx file..
EDIT ~ Updated the title and the question body: This is the edit. I want this behavior per-app on IIS6/7. I asked it initially before we migrated to IIS7, so any answer can be altered between the two (I've learned a bit about IIS7 since then ;] ) but I am looking for an answer that does work. I need to redirect per-app not per-server based on the user canceling 401 Auth request (meaning 401.1 error code). On IIS6, using NTLM Authentication (meaning Integrated Windows Authentication) if the user cancels the authentication request, how can I redirect them to another page? I can't just grab 401 (tried) or 401.1 (not an int) in the web.config.
I can't redirect if the issue is a 401 status because I'm intentionally pushing for a 401 to get the response, yeah? So how do I capture when they canceled on the browser challenge? To confirm that I'm being clear: If I open firefox and navigate to a IWA page, it shows me a dialog (assuming I haven't configured that away in about:config) and I key in the windows credentials to use. I want to prevent them stopping that box.
Is there a simple way to redirect to 404 page without typing its name? Ex: Response.Redirect(404 status coded page);Or is there a way to get default 404 location?