【问题标题】:asp.net Gridview control renders into an unnamed <div> tag, how to access it?asp.net Gridview 控件渲染成一个未命名的 <div> 标签,如何访问它?
【发布时间】:2013-09-10 09:53:25
【问题描述】:

net gridview,当它被渲染时,它似乎位于渲染表中,并且标签没有 ID 或 Class。

这个 div 标签阻止我使用我的 CSS 将 gridview 定位到我想要的位置。有没有办法给它的 div 一个 ID 或 Class 以便我可以定位它?

屏幕下方显示了在 IE 开发工具中呈现的 html

下面是 ASP.net 部分

<div class="clObjectTitleBanner">
    <asp:GridView
        ID="gvCurrentStageCircsPSTN"
        runat="server"
        EnableViewState="true"
        GridLines="Both"
        CssClass="gvCircsPSTNDash">
    </asp:GridView>
</div>

【问题讨论】:

  • 这可能是可以避免的,但是为什么这会阻止您找到它?不就是.clObjectTitlebanner div吗?

标签: html asp.net css gridview


【解决方案1】:

您可以使用 .clObjectTitlebanner &gt; div 选择器在 CSS 中定位此 div。

如果您真的想要自定义控件 HTML,可以使用 ASP.NET Control Adapters 来实现。

【讨论】:

    【解决方案2】:

    您可以使用 jQuery 动态分配 id;

    $(document).ready(function(){
    
          $('#MainContent_gvCurrentStageCircsPSTN').closest('div').attr('id','parent_div');
    
    });
    

    您可以在 css 中访问它:

    #parent_div{
    background:#DDD;
    
    }
    

    【讨论】:

      【解决方案3】:

      似乎解决方案是从 HTML 中获取相应的 &lt;div&gt; 标签并将其替换为:

      string html;
      html.Replace("<div>", "<div id="+"\"myID\""+">");
      

      如果您对 gridview 的 CssClass 属性没问题,或者完全删除标签。但是,您也必须小心删除相应的&lt;/div&gt; 标签。

      string html;
      html.Replace("<div>", "");
      

      所以,您首先需要获取页面的完整 HTML。您可以通过重写 Render() 方法来做到这一点,类似于:

      protected override void Render(HtmlTextWriter writer)
      {
             StringBuilder sbOut = new StringBuilder();
              StringWriter swOut = new StringWriter(sbOut);
              HtmlTextWriter htwOut = new HtmlTextWriter(swOut);
              base.Render(htwOut);
              string html = sbOut.ToString();
      }
      

      但是,您现在确实需要研究如何获得所需的确切 &lt;div&gt; 标记的逻辑。 (它在开发一个小型实用程序时对我有用,因为我根本没有放置任何其他 &lt;div&gt; 标记)。检查这个:get HTML of current page without ViewState ASP.Nethttp://forums.asp.net/t/1394050.aspx

      我希望至少你能明白。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-16
        • 1970-01-01
        • 2015-12-16
        • 2017-09-06
        • 2013-05-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多