Web Forms :: Creating Statuscode For Errors
Sep 28, 2010i want to redirect to the custom error pages accoarding to the errors. i thionk we can do it by using statuscode of error. how to create status code to our errors?
View 1 Repliesi want to redirect to the custom error pages accoarding to the errors. i thionk we can do it by using statuscode of error. how to create status code to our errors?
View 1 RepliesDoes a HttpWebResponse.StatusCode detect Asp.Net errors? Mainly a yellow screen of death? Some Background: I am working on a simple c# console app that will test servers and services to make sure they are still functioning properly. I assumed since the HttpStatusCodes are enumerated with OK, Moved, InteralServerError, etc... that I could simply do the following.
WebRequest request = WebRequest.Create(url);
request.Timeout = 10000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response == null || response.StatusCode != HttpStatusCode.OK)
{
// SERVER IS OK
return false;
}
else
{
// SERVER HAS SOME PROBLEMS
return true;
}
I found out this morning however that this doesn't work. An ASP.Net application crashed showing a Yellow Screen Of Death and my application didn't seem to mind because the response.StatusCode equaled HttpStatusCode.OK. What am I missing?
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException webexp)
{
response = (HttpWebResponse)webexp.Response;
}
I am new to the whole ajax/jquery/web service scene. I am trying to create a web service to pass back data for a jquery post and currently have two errors. It appears there are examples the web but must in c and looking for something in vb. Below is my web service. See in bold the error descriptions and in red the items visual studio is highlighting.
WordsService.asmx
HTML Code:
<%@ WebService Language="VB" CodeBehind="~/App_Code/WordsService.vb" Class="WordsService" %>
WordsService.vb
Code:
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Runtime.Remoting.Services
Imports System.Collections.Generic
Imports System.Data.SqlClient
Imports System.Data
Imports System.Web.Script.Serialization
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="[URL]
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class WordsService
Inherits System.Web.Services.WebService
Private _sConn As String = ConfigurationManager.ConnectionStrings("DB").ConnectionString
'1) Type 'ScriptMethod' is not defined.
'2) Value of type '1-dimensional array of String' cannot be converted to '1-dimensional array of 1-dimensional array of String' because 'String' is not derived from '1-dimensional array of String'.
<WebMethod(Description:="Gets the books matching part of a title."),
ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Function GetBooksByTitle(ByVal strTitle As String) As String
Dim myConnection As SqlConnection = New SqlConnection(_sConn)
Dim objCommand As SqlCommand = New SqlCommand("SELECT * FROM table WHERE field like '%" _
+ (strTitle + "&' ORDER BY field;"))
Dim dsSearch As DataSet = New DataSet
Dim sdaSearch As SqlDataAdapter = New SqlDataAdapter(objCommand)
sdaSearch.Fill(dsSearch, "english")
myConnection.Close()
' Create a multidimensional jagged array
Dim JaggedArray()() As String = New String((dsSearch.Tables(0).Rows.Count) - 1) {}
Dim i As Integer = 0
For Each rs As DataRow In dsSearch.Tables(0).Rows
JaggedArray(i) = New String() {rs("BookNum").ToString, rs("Title").ToString, rs("Author").ToString}
i = (i + 1)
Next
' Return JSON data
Dim js As JavaScriptSerializer = New JavaScriptSerializer
Dim strJSON As String = js.Serialize(JaggedArray)
Return strJSON
End Function
End Class
Here is the article I am currently following for example: How To Create A JSON Web Service In ASP.NET.
I have the following code but when i try and create a new IQuerable i get an error that the interface cannot be implemented, if i take away the new i get a not implemented exception, have had to jump back and work on some old ASP classic sites for past month and for the life of me i can not wake my brain up into C# mode. The code is to create a list of priceItems, but instead of a categoryID (int) i am going to be showing the name as string.
public ActionResult ViewPriceItems(int? page)
{
var crm = 0;
page = GetPage(page);
// try and create items2
IQueryable<ViewPriceItemsModel> items2 = new IQueryable<ViewPriceItemsModel>();
// the data to be paged,but unmodified
var olditems = PriceItem.All().OrderBy(x => x.PriceItemID);
foreach (var item in olditems)
{
// set category as the name not the ID for easier reading
items2.Concat(new [] {new ViewPriceItemsModel {ID = item.PriceItemID,
Name = item.PriceItem_Name,
Category = PriceCategory.SingleOrDefault(
x => x.PriceCategoryID == item.PriceItem_PriceCategory_ID).PriceCategory_Name,
Display = item.PriceItems_DisplayMethod}});
}
crm = olditems.Count() / MaxResultsPerPage;
ViewData["numtpages"] = crm;
ViewData["curtpage"] = page + 1;
// return a paged result set
return View(new PagedList<ViewPriceItemsModel>(items2, page ?? 0, MaxResultsPerPage));
}
I've got customErrors set in my web.config
XML Code:
<customErrors mode="On" defaultRedirect="/Error/GeneralError">
<error statusCode="404" redirect="/Error/NotFound"/>
</customErrors>
This works fine locally. A 404 throws a 404. On the shared hosting it throws up the standard server 404 page unless I specifically set 404 to point to /Error/NotFound. That's fine. Now it will show the custom 404 page except the response status code is 200. So if I try to throw Response.StatusCode = 404; in my NotFound action in ErrorController like this:
Csharp Code:
[code]....
the server throws a status code 500 Internal Server Error but my GeneralError page doesn't show, just a blank white page with no source.
I've tried many different combinations but I can't seem to find how to make it show my custom 404 page along with a 404 response.
I have a page (generic handler) on which I want to return the status code 500 to the client to indicate that something is wrong. I do it like this:
Response.StatusCode = 500;
Response.StatusDescription = "Internal Server Error";
And at the same time I render a friendly message telling the user that something went wrong. But instead of seing my message, I get the default IIS message saying something like this:
Server Error
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
And if I go in to IIS and remove the error page for 500, I get this message:
The page cannot be displayed because an internal server error has occurred.
It works as intended in IIS6, but not in IIS7. What should I do to get it working in IIS7?
How can I configure ASP.NET/IIS to show custom error pages (i.e. a nice friendly error page), but to still return a 404/500 status code so that google does not try to index the page? I have tried setting the Response.StatusCode to 404, but then the nice error page does not show anymore.
View 2 RepliesI have a C# web forms ASP.NET 4.0 web application that uses Routing for URLs for some reason custom errors defined in the system.web section of my web.config is entirely ignored and it will fall back the IIS errors.
This gets entirely ignored
[code]....
This would be a minor inconvenience except that by the fact it falls back to IIS native instead of my application it completely circumvents Elmah logging my 404 exceptions correctly.
When I build my program, if there's one error that prevents it from running, instead of just getting the one error I'll get around 50 additional errors in addition to the real one such as:
Error 27 Validation (XHTML 1.0 Transitional): This name contains uppercase characters, which is not allowed.
Is there any way to not show these?
I have been using using System.Web.Routing for url routing in global.asax file code is as below.
public static void RegisterRoutes(RouteCollection routes) {
routes.MapPageRoute("Home", "", "~/Home.aspx");
routes.MapPageRoute("Posts", "Posts/{blog_url}", "~/blog-description.aspx");
}
protected void Application_Start(object sender, EventArgs e) {
RegisterRoutes( RouteTable.Routes);
}
Now this works fine on local but when i move the same to live it shows error 404 .I want to create a log actually what url is called.
I have an application which I have worked on several times, but this week I've been trying to get the application to work on a new laptop and failed. First there were was some dependency issues with some controls like the AJAX Control Toolkit and AJAX Extensions, but now that I have everything I'm still getting errors. The errors that I'm getting are only in the App_Code classes. For Example I have the following references in the web.config
<namespaces>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>............
your posts and answers are very informative and helpful in my own devolopment and understanding the nature of the beast. Im running vs2010 on a 64bit windows 7 devolopment machine. For days I have been trying to get a Microsoft Reportview to render in a popup. ( i have done this in vs2008 ). I have tried applying the same code from vs2008 to Vs2010, but am comming up with page erros. When loading the default.aspx ( testpage ) I get 'Done but with errors'. If I click on button 1 which shows the popup, I get the report viewer, but it just sits there 'loading'. From advice givenm on this forum, I have used the IE view source code to try and loacate the problem... but to be honest, I dont understand why the page complies ok, but i get errors when it is run, or indeed how to rectify the problem. I have highlighted the two errors.Ie view source code:
[Code]....
[Code]....
[Code]....
I'm new to c# and I seem to be having a problem with an error message. If my textbox is left empty my code will throw a format exception and display the message in a label. If I then add a number to the textbox it runs correctly but the error message remains.
[Code]....
randomly get errors when using dropdownlists stating a value is not present. This occurs when there is a value in the table (its a very old table with inconsistencies in data entry) that is not in the current values that are part of the dropdownlist. I'm wondering if there is a way to override this in the code behind. What I would like to be able to do is have the form control bypass the fact that the data is not in the dropdownlist when it opens in edit mode. I'm thinking that there needs to be something in the code behind but I'm not sure if that is the way to go and if so, how to code it.
View 3 RepliesTo enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
I got this error at time of running ma published website but only for 1page this error occurred how it can be solved.
I have a small problem:
Example:
RouteCollection routes
routes.MapPageRoute("Product","{ProductName}","~/Product.aspx")
Address on browser:
localhost:port/Software/VisualStudio
Error: HTTP Error 403.14 - Forbidden (because that Route is not exists).
How can i catch errors when routes are incorrect or not exist?
I have an asp.net page that has menu which loads user control dynamically when the menu item is clicked.Now in the user control i have some buttons calling javascript on clientClick.When i click this button,it throws javascript error
Microsoft JScript runtime error: '(function name)' is undefined
Here is the code snippet:
function CheckUpload() {
var flag = validatePage();
var Checktext = $("#HyperLinkUploadFile").val();
if (Checktext != '' && flag)
flag = true;
return flag;
}
<asp:LinkButton ID="btnNotifyOA" runat="server" Text="Recommend Award and Notify OA & AO"
ValidationGroup="Notify" OnClick="btnNotifyOA_Click" OnClientClick="return CheckUpload();" />
The above linkbutton and javascript is inside a usercontrol.
I know how to alter the web config to redirect to an errors page but what I need to do is have the actual offending error message print to that page. This is a special request for testing reasons, I realize the whole point of a custom error page is to provide a user friendly message when an error occurs but for testing we want to show the user the message so they can copy and paste it into a ticketing system we are using for beta testing feedback.
Should I use the global.asax instead? I am pretty new to vb.net and am not sure how to get the actual error message to display on my custom error page.
I have a password recovery control on my login page. I want to have it send the user specified (and after question/answer filled out correctly) password in an email. I keep throwing an error though, saying that the SMTP needs authentication. I've used a lot of email capabilities in my application, but I set all the SmtpClient properties programmatically, so I never had to rely on system.net mailSettings section of the web.config file. But now I am relying on it, because I am not intercepting any events (unless that would be easiest) of the password recovery control. Here is my system.net excerpt from my web.config file:
[Code]....
What am I not doing here to specify SMTP authentication? Why am I throwing this error? I'm putting my credentials in there with username and password. Am I not configuring the PasswordRecovery control correctly?
We have option in validation summary to show errors in messagebox. But at the same time errors also showed in the page. Any way to hide this. Because of page space i think to use popup but i dont want to siplay in the summary also.
View 5 RepliesI have a bunch of textfields on my aspx page, many of them have a few validators on them, such as required field, and 2 compare values (for a min and max). All is well with those, all the errors I have posting to a validation summary control that gets fired on a button press. I have it put the "*" in red next to the field with the issue as well, however I'm wondering if there is a way I can change the css class of the textfield through code behind when there happens to be an error present on that control.I know how to change the css class of an element through codebehind(c#) but my question is how do I get it to fire only if an error is thrown for it.
View 2 RepliesUsing C# .NET 3.5 with VS 2008.
I've been playing with the FileUpload control for an upcoming project where the user is allowed to upload up to five files at once, but each file can only be 5MB in size. Simple enough all I would need to do is add in the httpRuntime element to the web.config and up the file size and timeout.
[Code]....
what I'm really getting at is there a better way to trap if the file size is too large before processing while using the FileUpload control. I would like to be able to keep the user on the same page but update a label control.
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.
View 2 Repliesiv'e looking the web for some solution without any success (some of them using VB, some of them for global file and some of them are not working) i want to put some code (not in application / global file) only in one page of my site, that send to my email address exceptions details in case there is some.(c#)
View 1 RepliesI have been experiencing instances where a FormView update or insert event fails and should throw an exception, but doesn't. This seems top be related to my switch to Visual Studio 2010 Ultimate and .Net 4.0. Since the switch I have seen this problem several times. Is there something new in .Net or VS that I need to do or set to get the exceptions thrown? Other exceptions seem to work fine...it's just with FormView and SQLDataSource that I don't see them.The specific errors I don't see reported include misspelling a field name in the Select, Insert or Update commands in the SqlDataSource.
View 2 Replies