【问题标题】:Can I place a comment inside a tag in ASP.NET?我可以在 ASP.NET 的标记内添加注释吗?
【发布时间】:2011-01-25 16:53:25
【问题描述】:

我希望在我的.aspx 页面中显示此内容,而不使用特殊字符 XML 标记,这可以实现吗?

<asp:ServerTag Property1="a"
    Property2="b"
    Property3="c" <%-- Comment why this particular property is necessary --%>
    Property4="d" /> 

但是,我收到了错误消息Server tags cannot contain &lt;% ... %&gt; constructs.。如果我使用 HTML 标签,我被告知服务器标签的格式不正确。

有没有其他语法可以做到这一点?

【问题讨论】:

    标签: asp.net comments


    【解决方案1】:

    服务器端评论置于您的服务器端控件之上。

    • &lt;!-- 客户端注释 (html) - 出现在 html 源代码中但未呈现在页面上
    • &lt;%-- 服务器端评论 - 在服务器上被剥离,永远看不到曙光,浏览器永远不知道它

    喜欢这个

    <%-- Usage:
    Property2 is xyz... 
    Property3 will .. abc. Ignore Property  1 when this is set. etc
    --%>
    <asp:ServerTag Property1="a"
        Property2="b"
        Property3="c" 
        Property4="d" /> 
    

    这就像将源代码 cmets 放在函数之上。

    想想“服务器到服务器”。这将使您的 HTML 源看起来像
    混乱与“通过”html 注释 &lt;!--:


    渲染的服务器控件内容。

    对比cleaner 去掉了“&lt;%-- 来源:

    渲染的服务器控件内容。

    后者的带宽也更少。 HTML 源代码中没有多余的(并且会让用户感到困惑)cmets。

    【讨论】:

      【解决方案2】:

      这是不可能的,不。服务器标签必须是格式良好的 XML,而 XML 中不能有这样的标签。当然,您可以在顶部添加评论,如下所示:

      <!-- Property2 needed because... -->
      <asp:ServerTag Property1="a" Property2="b" Property3="c" />
      

      【讨论】:

      • 感谢您解释它必须是格式良好的 XML。总是有助于了解“为什么”。 (正如我的旁注,我同意 jdk 的评论,即此处使用服务器标签会更好。)
      【解决方案3】:

      不一定是这样,但您可能需要考虑在 c# 中装饰属性以让用户知道它的相关性。之后,当您尝试设置它时,像 resharper(或者可能是 vs)之类的东西会为您提供此信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-27
        • 1970-01-01
        • 2015-12-21
        • 2011-10-12
        • 2010-11-14
        • 1970-01-01
        • 2022-01-17
        相关资源
        最近更新 更多