Forms Data Controls :: Exception Handling With Declarative GridView?
Jan 17, 2011
I'm using Visual Web Developer 2010 Express with C# 2008 and .NET v4.0 to create a website which will have a database application. The database is SQL Server 2008.
I would have searched this forum for similar questions but I can't find a 'Search this forum' option! So I apologise if someone has already answered this.
I've successfully displayed rows from my database by dragging and dropping a GridView and an SQLDataSource control onto my page, and by using the Connection Wizard to set them up. But when I go live with my new pages, I will have to put my database in a different folder, and until I edit the web.config connection string to point at it I expect to get an exception.
I understand that when you try and open a database connection, this is the perfect place to use try...catch exception handling. But all the examples I can find put the try-catch code on the Button_Click event! Where should I put it? I can' t find anywhere where my controls actually attempt to open the database!
I know I could rip out what I've done and write all the code to connect to the database myself, but as I've finally got everything to work I would prefer to make the change as small as possible. So, what is the minimum change I have to make to add exception handling to my datasource/ gridview?
3. Data Access Layer to do the dealing with the database.
Now i have a Contacts page from where i can add a new contact to the database.So to add a New Contact i fill in all the required details and then call a Add Method (residing in the BLL) from the page, which in turn call a Add Method residing in the DAL.this method in the DAL returns the Current Identity of the record which is then return back to the BLL method and finally delivered on the page.this is fine. but what if a get an exception how do i handle it properly because the method in DAL has a return type of int and i dont want to throw another error!! coz other wise i will have to write try catch in almost all the methods.
//something like this public int AddMethod(ContactClass contactObj) { int result = 0;[code]...
rather i want to show the user a user-friendly message which they can easily understand and in the mean while i will send a mail to myself documenting the Error that just occurred.how can i implement my custom exception classes.
Before I begin, I would like to acknowledge that I might be using incorrect terms below due to my lack of experience.
I have a GridView bound to an ArrayList of Custom Objects. I have a button as part of each row, which when clicked, I delete the row from the Arraylist, and re DataBind() the GridView. While this deletes the Row, it causes the Page to be refreshed that takes the User back to the top of the Page.
E.g. If the User clicks on the button of a row at the bottom of the Page, after the deletion, the Page gets refreshed and the User is now taken to the top of the Page.
This is irritating especially in long lists i.e. GridView with many rows. (I don't want to use paging here.) Is there any way to avoid this, or mitigate this problem.
I have a gridview and I do Add, Modify and Delete operations. I am comfortable adding and modifying any text or date value. Now, I have a dropdown list to be displayed. I need to add and modify. The contents in the dropdownlist is fixed. Below is the code. I know there is a problem in my
I'm fairly new working with Javascript. I'm working on an issue where I have a GridView with multiple Checkboxes and Radiobuttons. A user can check multiple checkboxes and if a radiobutton is selected, a checkbox has to be selected. This scenario is working fine, presently with existing asp.net code. But, I want to automate it using Javascript, so that I could avoid a postback.
I have a user control called ucTriStateButton. It raises an event when it is clicked, called TriStateButtonClicked. If I put this user control on a page, it works fine. Here is the declaration on the .aspx page:
[Code]....
When the button is clicked the method tsbTest_TriStateButtonClicked executes correctly.
The problem is when I put the user control in template field of a GridView.
[Code]....
There is no way to hook the event handler to the control in Page_Load because I cannot get a reference to tsbMorning. So I did it in the RowDataBound event handler of the GridView, where I also do a bunch of other row-specific stuff. Although this builds and runs, the event is never actually subscribed to and so never gets fired.
So the question is - how can I handle an event from many instances of the same user control within a GridView? I am calling the same bit of code regardless of which user control is actually clicked. I only need to know that one was clicked.
not quite sure where I'm going wrong here. I'm trying to manually handle sorting in a Gridview that is populated with the following data source:
[Code]....
[Code]....
[Code]....
At the moment, nothing is happening when I click on the column headings. I ran it in debugging mode in Visual Studio and put a breakpoint on the Sorting event handler. I noticed that the variable dtSortTable is empty even after the TryCast(VacanciesGV.DataSource, DataTable). If I hover over this statement in debugging, it shows the data from the file system, so it does appear to be reading it.
I have a form that's used to submit emails for a project. This uses the SMTP Client class and is currently delivering the emails to a local directory , for now.
There is some logic that checks to see if a mailbox is busy or unavailable. A message is displayed for the appropriate situation. There is also some logging and exception handling.
I want to know if there is a way to test this logic, logging and exception handling while this app is local. I don't know if there is a SMTP Status Code that's returned since this is being done locally and not with a real smtp server.
Is there a way to test this locally? Can these values be set manually in the code as a test?
am designing report using gridview in which i want drill down report, i.e. when i click a cell of gridview which contains value from the database. i want a new gridview to be populated with detailed report, which should be generated by passing some values from parent gridview.
i have written some code for the same,but in the code the event is not getting fired.
code is:
in gridview rowdatabound protected void gvHdr_RowDataBound(object sender, GridViewRowEventArgs e)
I created a simple data access layer in the dll and reference it in my web app. How can I point the error to the user that his code in this line has an exception. currently, when i input a nonexisting table it will popup an error "invalid object name table_name" and points the my code throw exception inside my dll. I want it to point out to the user code that uses my function that creates an error.
Line 92: Dim ds As DataSet = DAL.Dal.ExecuteDataset("SELECT * FROM table_nam", "DBConnectionString")
public static void Test() { try { OpenConnectionToDatabase(); //Opens a connection to Oracle DB } catch(Exception e) { e.Data.Add("Query:", command.CommandText); throw e; } }
When this code is executed when the Database server is being shutdown and the communication is disrupted, .NET throws the following error: Item has already been added. Key in dictionary: 'Query:' Key being added: 'Query:' at System.Collections.ListDictionaryInternal.Add(Object key, Object value) How can this be?
We are using renderaction provided by MVC futures. We've noticed that HttpExceptions in child action methods are not propagated to the parent action. Even though a fragment has failed, we still see the parent request resulting in a 200, and this throws our error handling for a toss.
I have a weird situation here. Using VS2010 and the MVC2 application template, I'm trying to set up error handling, but it refuses to work... Even with a simple controller throwing an exception in the index:
[Code]....
And <customErrors mode ="On"></customErrors> in the web.config file, MVC breaks into the code and tells me that "Exception was unhandled by user code". The default Error.aspx (static text only) is located in /Views/Shared, and I've even removed the login partial view from the master page.
I have a code which reads from a database and loads all feeds in it. Occassionaly I will get errors when the feeds are not responding. The error is happening on this line of code:
[Code]....
How do I add in a code that if the read above fails, ignore and proceed to next data row in the SQLDataReader ?
I have used the DataKeyNames property of the GridView to assign the column name whose visible property is set to false to get the cells value when the column is kept invisible. But, sometimes there is an error on this line of code - string cellValue = GridView.DataKeys[e.NewEditIndex].Value.ToString(); Following Error is generated -
Server Error in '/' Application. Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
It has to do with the RowCommand 'Cancel'. When clicking on my Edit button for a row, the GridView puts the row into edit mode without a problem (I have no code for the Edit command, I let the control do everything).
Once in Edit mode, if I click the Cancel button (again, I have no code handline this RowCommand, I let the control handle it (like i do with many other GridViews)) I get the following exception:
"System.InvalidOperationException: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control."
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll An exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll but was not handled in user code
After banging my head because i could find where the exception came for and global.asax didn't get hit i found that it's from server.transfer and is a known bug. The alternative i read about is server.execute.However if i do this then the next page fires multiple javascript exceptions and a gridview i have is breaking of and the rows appear half at the left page corner and half inside the gridview!!
For now i just put a try catch on the server.transfer although the exception will not affect the application even if i don't use try catch. I also see that the exception is happening again even if i put try catch but with different dll: A first chance exception of type 'System.Threading.ThreadAbortException' occurred in App_Web_benglxq1.dll An exception of type 'System.Threading.ThreadAbortException' occurred in App_Web_benglxq1.dll but was not handled in user code Now what on earth is benglxq1.dll i don't know. What i know is that i'm leaving an exception to run and i don't like that. This is the js error when i use server.transfer btw: Microsoft JScript runtime error: Sys.ArgumentTypeException: Object of type 'Sys._Application' cannot be converted to type 'Sys._Application'.