1

如果您没有为 ASPX 文件中声明的控件提供 ID,我知道 VS 会自动为您生成一个。即使我不会从代码隐藏中访问它们,我是否应该始终为控件提供描述性 ID?

4

5 回答 5

4

真的,这更像是一种偏好。我倾向于为我的大多数元素命名,除了我永远不会改变的标签之类的东西。我特别注意命名我所有的 div,例如,在以后修改布局时,为了我自己的理智。

我想这总结了我这样做的原因。为大多数控件命名更具声明性且更易于阅读。如果您担心“污染”您的 Intellisense,只需在相似控件之间使用公共前缀(例如文本框的 TxtFirstName)。

于 2009-07-22T16:50:02.510 回答
4

如果您不会从代码隐藏中访问控件,则应该首先询问您是否需要服务器控件。如果它是一个基本控件,例如没有数据绑定的标签,那么答案可能是“否”。您可以改用普通的旧 HTML 标记。如果它更复杂,那么你应该给它起一个能解决这种复杂性的名字。

于 2009-07-22T17:04:08.003 回答
3

我会说是的。在我看来,这只是一种很好的做法,当您在浏览器中查看生成的源代码时,它无疑使调试变得更容易。

于 2009-07-22T16:47:47.787 回答
1

从好的方面来说,您可以减少由 ASP.NET 生成的名称,例如 (SomeGeneratedNameForATextBox23),并节省一些发送到客户端的字节。不利的一面是,你最终会用一个你实际上永远不会接触的成员污染你的智能感知。所以,答案是:这取决于:)

于 2009-07-22T16:47:38.457 回答
0

如果您没有从后面的代码中使用它们,ids 不会有任何区别,但它始终是一个好习惯。有些事情是为了好的设计而做的。这些 id 在客户端不会有任何用处,因为这些 id 在发送到客户端时会被更改。因此,您必须使用类属性才能使用 JQuery 来使用它们。

于 2009-07-22T17:02:59.707 回答