ASP.NET中的ID命名约定?

时间:2010-07-13 08:13:47

标签: asp.net naming-conventions

来自HTML,XML和PHP的世界是使用ASP.NET制作Web应用程序时的一种新思维方式。我想在我的MasterPage中使用以下代码:

<div id="leftnav">
    <asp:ContentPlaceHolder ID="leftnav" runat="server">
    </asp:ContentPlaceHolder>
</div>

但是,由于此示例中的leftnav使用了两次,因此Visual Studio会进行一次小规模但值得注意的抗议。在这种情况下我应该怎么想,哪种是在ASP.NET中命名ID的最合适的用法。

我不喜欢默认命名,因为id="ContentPlaceHolder1"没有提及内容。

感谢您的聆听!

6 个答案:

答案 0 :(得分:8)

我会调用div“nav”和占位符“navPlaceholder”。这是因为单词“left”意味着位置,应该由你的css 处理,而不是你的html。如果设计师决定将导航放在右边怎么办?你可以在你的CSS中做到这一点,但你最终会遇到像div #lefnav { float:right; }这样令人困惑的事情,这是一个微不足道的例子,我知道但要记住一些事情。

答案 1 :(得分:3)

“leftNavPlaceHolder”怎么样?

与您的命名惯例一致:)

答案 2 :(得分:2)

不,默认ID很糟糕。我无法想象它们的用途是什么,只是因为Visual Studio不够聪明,无法提出更好的建议,而且它们并不是在暗示半智能的东西,因为它们不想试图脱落作为他们不是的东西。合理的=)

因此养成总是更改默认ID的习惯。你改变它们的完全取决于你; “leftNavContent”?当涉及到ID时,几乎唯一被大会覆盖的就是大写。

唯一应该真正从纯HTML改变的是你不能使用像“左导航”这样的ID,即包含连字符,用于服务器控件。

答案 3 :(得分:1)

我建议,除非你真的需要,否则不要给div提供id,因为它会影响性能。

答案 4 :(得分:1)

主观。这类问题的明显答案是:选择你喜欢的东西;标准化它,并始终遵循它。

就个人而言,我以下列方式命名我的东西:

<asp:Literal runat="server" ID="ltlDescriptionOfContent" />

<asp:PlaceHolder runat="server" ID="plhSendMessage">
</asp:PlaceHolder>

对于包含有关发送消息的信息的区域。但你不必这样做。做你想做的。只是让它保持一致。理想情况下,传达一些关于内在的信息。

答案 5 :(得分:1)

我使用ux为所有ASP.Net控件添加前缀,表示用户控制。

然后,您可以将String emailAddress = "test@abc.com";uxEmailAddress.Text = emailAddress

联系起来