未呈现GridView行样式和属性



我正试图在OnRowDataBound事件中向GridView添加样式和行行为(更改光标并添加onmouseover和onmouseout以突出显示行)。当我使用HtmlTextWriter来显示该方法中行的标记时,一切看起来都很好。但是,在浏览器端的页面源中,我的<tr>元素根本没有这些属性。如果我在页面的OnPreRender或OnPreRender完整事件中转储标记,我会发现到那时我的更改已经消失。这是怎么回事?

我使用的是VS2010 Professional,目标是3.5框架。

更新:我尝试了一些不同的方法来确定哪里出了问题。我对GridView和GridViewRow都进行了子类化,这样我就可以在一些方法调用之前确定我的设置何时被破坏。它原来在GridView中。RenderControls(),我的属性已被删除。我不理解这一点,因为有几十个使用这种技术添加javascript事件的例子(包括在这个网站上)。通过重写子类中的RenderControl()方法并使用它来调用base,我最终获得了成功。Render()而不是base。RenderControl()。。。奇怪但真实。

我最终成功地将GridView子类化,然后在子类中重写RenderControl()方法并使用它来调用base。Render()而不是base。RenderControl()。。。奇怪但真实。

最新更新