【问题标题】:GridView Row styles and attributes not renderedGridView 行样式和属性未呈现
【发布时间】:2012-08-26 04:47:29
【问题描述】:

我正在尝试在 OnRowDataBound 事件中向我的 GridView 添加样式并添加行行为(更改光标并添加 onmouseover 和 onmouseout 以突出显示一行)。当我使用 HtmlTextWriter 在该方法中显示行的标记时,一切看起来都很好。但是,在浏览器端的页面源中,我的

元素根本没有属性。如果我在页面的 OnPreRender 或 OnPreRender 完成事件中转储标记,我发现我的更改已经消失了。这是怎么回事?

我正在使用 VS2010 Professional 并针对 3.5 框架。

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

【问题讨论】:

标签: asp.net


【解决方案1】:

我最终通过子类化 GridView 并在我的子类中覆盖 RenderControl() 方法并使用它来调用 base.Render() 而不是 base.RenderControl() 取得了成功...奇怪但真实。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 2015-11-04
    • 2020-04-08
    相关资源
    最近更新 更多