Keeping the User Happy at the Current Location
If someone chooses to pass a link with an anchor tag or <A>, the object will simply replace the original link parameters with a call to OnHTMLDataGridLinkClick(). This is good for a few reasons:
The developer has access to information about what links the user chooses to click. Override the default implementation and send a message to your database with the link information.
Embed the whole data table in a frameset with a table frame and a link frame. Now, instead of a boring list of links, the user is given all the table functionality with what amounts to a second window.
In the event that the link is a stream URL, the overriding function can detect the type of stream (for example, whether it's only Real or Windows) and spawn the correct player in a separate area of the same page or an entirely new window.
Now, you still may be from the school of "Been there, done that," and I have yet to provide you anything revolutionary. Let me digress for a moment and put on my hat as development coordinator. Must you contend with rogue HTML coders who seem to believe that OOD is nothing more than a sound you make when punched in the stomach? To them, your concerns about Object expected errors pale in comparison to their cool slide-show rollover trick.
Create a tool around this object for incorporating various types of content and behaviors based on placement within the grid, and provide it to the developers responsible for displaying content. That way, instead of passing raw HTML or trying to construct script blocks from within ASP, page content is maintained as data.
But the method of passing data is so cumbersome, and you can't assign styles on a row or column basis. Okay, let's start with functional behavior.