Search

Custom Search

Subscribe via email

Enter your email address:

Delivered by FeedBurner

Thursday, October 21, 2010

page level error checking for update / delete / insert and general errors

put in main aspx.
Protected Sub Page_Error(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Error
        ' BEGIN - catching errors due to referential integrity constraints
        ' getting the exception
        Dim objErr As Exception = Server.GetLastError().GetBaseException()
        Dim tempMsg As String
        Dim tempStrAndErrCompDELETE As Boolean
        Dim tempStrAndErrComp As Boolean
        ' getting the message from objerr (the real exception raised)
        Dim tempErrorMessage As String
        tempErrorMessage = objErr.Message.ToString()
        ' comparing variables for violations
        tempStrAndErrCompDELETE = tempErrorMessage.Contains("DELETE")
        tempStrAndErrComp = tempErrorMessage.Contains("")
        ' looking for DELETE violation
        If (tempStrAndErrCompDELETE = True) Then
            tempMsg = "This is a non-critical error. There was an error during DELETE operation. This was because the record you tried to delete is already being used. If a record is already being used in another table then deleting it would also delete its entry from there and that would create null references. For further explanation of this please contact Saad Hashmi, Asst. IT Programmer." _
                      + vbCrLf + " Error: " + tempErrorMessage
            Server.Transfer("TempErrorAdmin.aspx?request_tempMsg=" + tempMsg)
            ' looking for GENERAL violation
        ElseIf (tempStrAndErrComp = True) Then
            tempMsg = "This is a critical general error. For further explanation of this please contact Saad Hashmi, Asst. IT Programmer." _
                    + " Error: " + tempErrorMessage
            Server.Transfer("TempErrorAdmin.aspx?request_tempMsg=" + tempMsg)
        End If
        ' clearing the server error raised
        Server.ClearError()
    End Sub
make a TempErrorAdmin.aspx page and place code...

Partial Class TempErrorAdmin
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim tmp_lbl_ErrorLabel As Label
        tmp_lbl_ErrorLabel = CType(FindControl("ErrorLabel"), Label)
        tmp_lbl_ErrorLabel.Text = Request.QueryString("request_tempMsg")
    End Sub
    Protected Sub btn_back_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_back.Click
        ' If the querystring had a DELETE in it then transfer it back
        ' to requesting page on press of BACK BUTTON.
        ' However if querystring had something other than DELETE then transfer
        ' to default.aspx.
        ' This is because if querystring was something other than DELETE (or a ref. integrity violation)
        ' then the requesting page will transfer it back to error page since its a critical error.
        Dim temp_PreviousPage As String
        Dim tempStrAndErrCompDELETE As Boolean
        Dim tempStrAndErrComp As Boolean
        'Dim tmp_ContentPlaceHolder As ContentPlaceHolder = CType(Master.FindControl("ContentPlaceHolder1"), ContentPlaceHolder)
        Dim tmp_lbl_ErrorLabel As Label = CType(FindControl("ErrorLabel"), Label)
        tmp_lbl_ErrorLabel.Text = Request.QueryString("request_tempMsg")
        ' comparing variables for violations
        tempStrAndErrCompDELETE = tmp_lbl_ErrorLabel.Text.Contains("DELETE")
        tempStrAndErrComp = tmp_lbl_ErrorLabel.Text.Contains("")
        ' looking for DELETE violation
        If (tempStrAndErrCompDELETE = True) Then
            temp_PreviousPage = Request.UrlReferrer.ToString
            Response.Redirect(temp_PreviousPage)
            ' looking for GENERAL violation
        ElseIf (tempStrAndErrComp = True) Then
            temp_PreviousPage = "Default.aspx"
            Response.Redirect(temp_PreviousPage)
        End If
    End Sub
End Class

No comments:

Post a Comment

Labels

.ico (1) acunetix (1) adding controls dynamically (1) adding list item programatically (1) adding parameters (1) aligning (2) aligning buttons (1) and Bind() can only be used in the context (1) anonymous access (1) appending static dropdownlist items (1) asciibetical sort (1) asp.net (101) assembly (1) asterisk (1) auto increment (1) autopostback (1) autosize (1) aztech (5) behavior (1) boundfield (1) browser tab icon (1) busybox (1) bypass proxy (1) calculate totals in reportviewer (2) cangrow (1) cascading style sheets (1) case (1) CDbl (1) changemode (1) checkbox (1) columns (1) comments (1) comparing all values (1) comparing integer values (2) comparison (2) conditional IIF (1) confirmation box on delete (1) connection string (1) control (1) controlID (1) controlparameter (1) convert (1) convert format of currency or float or 0.0000 to 0.00 (1) convert image to pixels (1) converting dates (2) css (1) ctype (1) culture (1) currency (1) current date (1) current ports (1) data typeconversion (1) database (2) databind (1) databound (5) dataformatstring (1) date column (1) date format (3) date sort in gridview (1) db_datareader (1) db_datawriter (1) dd MMM yyyy (1) defaultmode (1) delete button (1) deleting (1) deleting rows (1) deploying website to IIS (3) deployment error (1) deployment to IIS (4) detecting formview move (3) difference between filterexpression and selectexpression (2) difference between publish and build in visual studio (1) directory security (1) display error on no data in reportviewer (2) distinct (1) DLL (1) DMZ (1) double value (1) double quotes in javascript (1) download reportviewer (5) download visual web developer (3) drill down (1) drilldown (1) drilldown dropdownlist (1) dropdownlist (4) dropdownlist showing double values on postback (2) DSL 605EU (5) dynamic DNS (1) dyndns (1) e.values (1) edit mode (1) embedded images (1) emptydatatemplate (1) enableclientscript (1) enableviewstate (1) error during selection in filter of non matching values (1) Eval() (1) event manager (1) excel to sql server (2) executiontime (1) expression (2) F5 key refresh (1) failed to load viewstate (1) favicon (1) favicon.ico (1) feedback (1) feedback module (1) field expression (1) file permissions (1) filter (3) filterexpression (2) filterparameters (1) findcontrol (1) firefox (1) firefox password problem (1) firewall (1) float (1) focus (1) font (1) footerrow (1) format currency (1) formatting date in reportviewer (1) formview (11) formviewmode (2) freeze screen (1) global ip (2) globals (1) gotreportviewer (1) grand total (1) gridview (18) gridview labels (3) handling dates (6) handling nulls (5) html (1) htmlencode (1) httphandler (1) icon in address bar (1) icon in browser (1) IIS (6) IIS 5 (2) IIS 7 (1) IIS admin tool (1) IIS error (1) iis installation (1) IIS manager (3) IIS personalization (1) IIS pool (3) IIS setup (1) IIS Unexpected error 0x8ffe2740 (1) image control (1) image sizing in reportviewer (1) importing html into excel (1) index was out of range (1) insert (4) insert image in reportviewer (1) inserting (1) insertparameters (1) integer (1) integer column (2) intellisense (1) iteminserted (1) iteminserting (2) itemupdating (2) javascript (6) javascript and smartnavigation (1) javascript intellisense (1) label (1) left align pagerstyle (1) listitem (1) live ip (2) load (1) maintain cursor on field after postback (1) maintainscrollbackposition (2) managing deletion (1) microsoft (2) modechanged (1) modechanging (1) money column (1) money field (1) monitor IIS errors (1) monitoring ports (1) ms excel (1) ms word (1) multiple values shown (1) natural sort (1) network service (3) newline character in reportviewer textbox (1) newmode (1) nirsoft (1) no data (1) non focus (1) non null (1) norows property (1) obfuscate (1) obfuscator (1) objectdatasource (3) onclientclick (1) onfocus (3) onkeyup (1) page expiry (1) page margins (1) page_load (1) pageindex (1) panel (1) parameterized query (1) pdf (1) permissions (2) port forwarding (2) port scanner (1) ports (2) postback losing focus problem (1) pre-compile tasks visual studio (1) prevent insert on refresh (1) prevent multiple records being added (1) preventing doubleclick (1) preventing multiple clicks (1) primary key (1) primary key column (1) profile (2) programming (1) protect asp.net code (2) publickeytoken (1) publish to DLL (2) publish website (2) putting blanks in formview (1) reboot router (1) referencing values of selectcommand (1) register asp.net (1) registerstartupscript (2) remove focus (1) removing a textbox (2) report header (1) reportaddin.msi (2) reporting services (3) reportviewer (11) reportviewer formatting A4 size PDF (1) reportviewer formatting for A4 size PDF (1) reportviewer header scroll problem (1) reportviewer showing header (1) reportviewer showing header constantly (1) reset autokeys (1) restart router (1) router (6) router interface (1) rows (1) schema (1) scriptmanager (1) scroll function (1) scroll to window location with javascript (1) scrolling scrollbar with javascript (1) selectcommand (1) selectedindexchanged (1) selectedrowstyle (1) selectedvalue (1) selectexpression (1) selecting control inside gridview (1) selecting null as 0 (1) selecting null as zero (1) selecting nulls (3) selecting row (1) selecting totals in t-sql using subquery (2) selecting week (1) server application unavailable (1) session state (2) session timeout (1) set focus on control on page load (1) setting tab order of controls (1) setup firewall (1) showtime (2) single quotes in javascript (1) sizing property (1) skype port 80 conflict (1) smartnavigation (3) smartnavigation errors (1) smartnavigation problems (2) smartnavigation solutions (1) sorting (1) sql server (47) sqldatasource (9) SSRS (5) start primary key column from 1 (1) static ip (1) string value (1) stylesheet (1) subquery (2) summary (1) system.web (1) t-sql (22) tab index (2) tab order (2) table (1) table of contents (1) table wrap (1) tables (1) tcp port (1) TD (1) telnet (1) templatefields (2) ternary IIF operator (2) textbox (4) textchanged (1) timeout (1) top row (1) totals in gridview footer (2) TR-068 WAN Access (1) trimming values (1) truncate table (1) try catch block (1) updating (1) validation (1) validationsummary (1) vb (76) version (1) viewstate (1) viewstate error (1) virtual directory (1) visiblefalse (1) visual studio 2008 (4) visual web developer (5) visual web developer 2005 (3) vwd (2) watch activity (1) watermark (1) web tunnel proxy (1) web.config (4) webforms (1) webserver (1) Website Vulnerabilities (1) where clause (1) windows CD (1) windows server (3) windows vista (2) windows xp (1) wrap line (2) wrapping text in reportviewer textbox (1) xp (2) XPath() (1)