It's possible to write custom code to be executed when row editing is done. Please review the Customize data updates using the Row Updating event tutorial.I have a gridview with the Object Data Source and the Update does not work. Protected Sub Grid View1_Row Updating(By Val sender As Object, _ By Val e As System. Recall that this CSS class causes the Label's text to be displayed in a red, italic, bold, extra-large font. In the face of a DAL-level or BLL-level exception, which we can detect in the Grid View's Row Updated event handler, we will set the Exception Details control's Visible property to true. Text &= _ "Our database is currently experiencing problems." & _ "Please try again later." Else If Type Of inner _ Is System. When inserting, updating, or deleting data, the Data-Access Layer may throw an exception in the face of a data-related error. Just like the exception raised from the DAL, this BLL-raised Application Exception can be detected and handled in the Grid View's Row Updated event handler.Since Web control event handlers occur after the Page_Load event handler in the page life cycle, the Label will be shown. The database may be offline, a required database table column might not have had a value specified, or a table-level constraint may have been violated. In fact, the Row Updated event handler's code, as written, will correctly detect this exception and display the Application Exception's Message property value.Scott Mitchell March 2007 Summary: This is the Visual Basic tutorial. Introduction Step 1: Creating an Editable Grid View of Products Step 2: Gracefully Handling DAL-Level Exceptions Step 3: Gracefully Handling BLL-Level Exceptions Conclusion Working with data from an ASP.(Switch to the Visual C# tutorial.) In this tutorial, we will see how to display a friendly, informative error message should an exception occur during an insert, update, or delete operation of an ASP. NET Web application using a tiered application architecture involves the following three general steps: As we saw in Tutorial 17: Examining the Events Associated with Inserting, Updating, and Deleting, both the Object Data Source and the data Web controls provide extensibility points for Steps 1 and 3.
Note: Alternatively, we could remove the necessity for setting the Exception Details control's Visible property in Page_Load by assigning its Visible property false in the declarative syntax and disabling its view state (setting its Enable View State property to false). In Tutorial 2: Creating a Business-Logic Layer, for example, we added a business-rule check to the original Update Product overload. During inserting, updating, and deleting operations, both the data Web control and the Object Data Source involved fire pre-level and post-level events that bookend the actual operation.
In the previous tutorial, we looked at how to format the Unit Price Bound Field as a currency both in read-only mode and edit mode. Recall that this required setting the Bound Field's Data Format String property to , its Html Encode property to false, and its Apply Format In Edit Mode to true, as shown in Figure 2. Configure the Unit Price Bound Field to display as a currency. An end user likely doesn't know what a No Null Allowed Exception is or why it was caused. Keep In Edit Mode = True End If End Sub This event handler begins by checking to see if e. If it's not, the Exception Details Label's Visible property is set to true and its Text property to "There was a problem updating the product." The details of the actual exception that was thrown reside in the e. This inner exception is examined and, if it is of a particular type, an additional, helpful message is appended to the Exception Details Label's Text property. Ideally, though, such invalid input will never reach the Business-Logic Layer in the first place, as the ASP.
Formatting the Unit Price as a currency in the editing interface requires creating an event handler for the Grid View's Row Updating event that parses the currency-formatted string into a decimal value. A better approach is to present the user with a more user-friendly message explaining that there were problems attempting to update the product. Lastly, the Exception Handled and Keep In Edit Mode properties are both set to true. NET page should ensure that the user's inputs are valid before invoking the Products BLL class's Update Product method.
When updating a product, if an exception is raised our ASP. Bind the Grid View to a new Object Data Source, mapping the Select() method to the Products BLL class's Get Products() method and the Update() method to the Update Product overload just created. Use the Update Product method overload that accepts four input parameters. To arrange this, simply set the Bound Fields' Read Only property to true. After completing these steps the Error page's Designer should look similar to Figure 4. Remove all but the needed Bound Fields and check the Enable Editing check box.
NET page will display a short message above the Grid View explaining that a problem has occurred. In the previous tutorial, we created an editable Grid View with just two fields: Product Name and Unit Price. This will create an Object Data Source with an Update Parameters collection with four parameters and a Grid View with a field for each of the product fields. At this point, we have a list of all of the products' Product Name, Quantity Per Unit, Unit Price, and Units In Stock fields; however, only the Product Name, Unit Price, and Units In Stock fields can be edited. Users can now easily edit products' names, prices, and units-in-stock fields.