代码之家  ›  专栏  ›  技术社区  ›  vgru

基于HTML内容的ASP.NET服务器端导航菜单

  •  0
  • vgru  · 技术社区  · 14 年前

    我需要对一堆web表单做一些样式设计,其中包含以相当统一的方式格式化的文章。我可以更改任何我想要的源代码。

    我需要的是一个快速的方法 动态创建导航菜单 (在服务器端)对于ASP.NET Web窗体,基于指定的 div .

    例如,给定以下HTML:

    <div id="article">
    
       <h2 id="first">Chapter 1</h2>
          <p>Some text...</p>
    
       <h2 id="second">Chapter 2</h2>
          <p>Some other text</p>
    
    </div>
    

    我想在末尾插入类似这样的内容(并在服务器端呈现,而不是在脚本中呈现):

    <div id="navigation">
      <ul>
           <li><a href="#first">Chapter 1</a></li>
           <li><a href="#second">Chapter 2</a></li>
      </ul>
    </div>
    

    注: 我知道我可以在codebehind中迭代父DIV的子控件(尽管我需要使它们全部“在服务器上运行”,甚至解析父DIV的innerhtml属性),但如果感觉很奇怪的话。

    另外,我知道,如果文章是从数据源创建的,那么内容已经组织好了,但是我想在现有页面中做一些必要的更改。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Turrau    14 年前

    您可以使用regex搜索标题,并从结果中呈现导航。类似的东西 "<h2 id=\"([^\"]+)\">([^<]+)</h2>" 会得到第一组中的ID和第二组中的标题。

        2
  •  0
  •   Dave Thieben    14 年前

    如果您可以访问正在创建文章的数据源,一定要使用它。

    但是,如果您只有HTML,那么我将使用XSLT。