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

美化ASP。净加价

  •  2
  • FlySwat  · 技术社区  · 17 年前

    所以,我的个人网站是在我写的一个自定义博客引擎上运行的,我真的很满意。然而,它使用母版页,这意味着ASP。NET将“ct100”预先添加到所有id中(无正当理由)。。。例如:

    <div id='menu'>
       <ul>
        <li id="ctl00_homeTab" class="active"><a href="/">Home</a></li>
        <li id="ctl00_codeTab"><a href="/code/">Code / Projects</a></li>
        <li id="ctl00_aboutTab"><a href="/about/">About Me</a></li>
        <li id="ctl00_contactTab"><a href="/contact/">Contact</a></li>
      </ul>
    </div>
    

    我想稍微美化一下标记,去掉它们,或者至少将它们重命名为更有意义的名称。由于Webforms是相当可插拔的,我想有一种方法可以做到这一点。我知道内容占位符是一个命名容器,但在我的情况下,我只想有一个像样的id,“master”而不是“ct100”将是一个开始。

    虽然我很傻,但我想做的另一件事是修复使用用户控件时标记的缩进。如果你看看 at my site 您将看到,用户控件没有缩进,并中断了源代码的流。如果不通过漂亮的打印机运行页面输出,这可能无法修复。。。那将是浪费时间。

    不要告诉我切换到MVC。我已经对它进行了评估,并将坚持使用Webforms。

    6 回复  |  直到 17 年前
        1
  •  2
  •   Brandon    17 年前

    说实话,我不认为通过大量工作来实现最低限度的标记美化有什么好处。。。虽然我以某种奇怪的方式欣赏你的欲望。

    你的网站看起来不错——把精力放在浏览器中实际呈现的内容和最终用户的功能上。:)

        2
  •  2
  •   Sean Taylor    17 年前

    虽然现在可能对你没有多大用处,但是ASP的下一个真正意义是什么呢。NET将允许您对控件的输出id进行更多控制。

    这篇博文中有一些好信息。。。

    http://www.mostlylucid.net/archive/2008/11/03/way-too-much-information-on-control-ids-and-asp.net-4.0.aspx

        3
  •  1
  •   HardCode    17 年前

    这些控件前缀是ASP。NET在页面上查找控件,例如。。。如果我没记错的话。。。查看状态/回发。一、 同样,我讨厌这些前缀,但是ASP。NET需要它们。

        4
  •  1
  •   Russ Bradberry    17 年前

    是的,你可以通过使用ASP。NET 2.0控制适配器。控件适配器允许您修改现有服务器控件输出代码的方式,而无需更改ASPX文件中的任何代码。你可以在这里看到它是如何完成的:

    http://weblogs.asp.net/scottgu/archive/2006/11/29/tip-trick-use-the-asp-net-2-0-css-control-adapters-for-css-friendly-html-output.aspx

    这些适配器的设计非常独特,可以方便地使用CSS。NET控件,但它也可以用于您的目的。

        5
  •  0
  •   Mark Brackett    17 年前

    我想你可以钓一条 ResponseFilter 美化。。。祝你在正则表达式方面好运

        6
  •  0
  •   Mcbeev    17 年前

    CSS Friendly Control Adapters ? 我在多个项目中使用它们,并且对它们非常满意。他们甚至可以很好地转换成3.0,3.5。

    这个 menu adapter 这正是你想要的。