I recently built a JavaScript function in HeadLight that filled a textbox from JavaScript and then disabled the textbox to prevent the user to alter its contents. When the form was submitted, it didn’t submit the contents of the disabled textbox. It puzzled me, but then I found that ASP.NET 2.0 doesn’t submit client-side disabled controls by default. However, there is an easy way to force it to do so.

All you have to do is to put this line in the Page_Load:

Page.Form.SubmitDisabledControls = true;

The reason why I’ve never seen this property before, is that I have never had the need for it. I guess I’m just slow, but then again, slow is the new fast.

The GridView control (as well as the DataGrid) has a way of defining the style of every other row of the grid. My favorite way of doing it, is to set a class on the row and then by stylesheet set the background like so:

<asp:gridview AlternatingRowStyle-CssClass="alt" …/>

And then add this to the stylesheet.

.alt{

  background-color: #F1F1F1;

}

This approach works very well for me on both the GridView and the old DataGrid, but there is a very important thing that is missing – the ability to have e.g. three rows be alternate and three regular throughout the grid. The alternate rows are always every other row and you can’t do anything about it without overriding the GridView and provide the functionality yourself.

 

Implementation

Download the AlternateGridView.cs below and add it to the App_Code folder of your website. Then put the following tags unto the page or user control where you want the grid. The AlternateGridView class is only 47 lines of code including XML comments. You can still use the same style to color the background as shown above.

<%@ Register Namespace="CustomControls" TagPrefix="cc" %>

<cc:AlternateGridView runat="server" ID="grid" AlternateRows="3" />

Download

AlternateGridView.zip (0,56 KB)