2009-07-22 71 views
1

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

回答

4

这实际上是更偏爱的东西。我倾向于给我的大多数元素命名,除了像我永远不会改变的标签之类的东西。例如,为了我自己的理智,我需要特别注意为我的所有div命名,以便稍后修改布局。

那么我想总结一下我做这件事的原因。 为您的大部分控件提供名称更具说明性,更易于阅读。如果您担心“污染”您的Intellisense,只需在类似控件之间使用通用前缀(如TxtFirstName用于文本框)即可。

1

从积极的一面,你可能能够减少由ASP.NET例如,(SomeGeneratedNameForATextBox23)所产生的名字和保存已发送到客户端的一些字节。不利的一面是,你最终会与你实际上从未碰过的成员一起污染你的智能感知。所以,答案是:它取决于:)

3

我会说是的。在我看来,这只是一个很好的练习,当你在浏览器中查看生成的源代码时,它可以很容易地进行调试。

0

如果你不使用它们从后面的代码,ids不会有任何区别,但它总是一个很好的做法。某些事情是为了好设计而完成的。这些ID不会在客户端使用,因为这些ID在发送到客户端时会被更改。所以,你将不得不使用class属性来使用他们使用说JQuery。

4

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

+0

我正在考虑像控制器中的ScriptManager,UpdatePanel,Content和LinkBut​​tons这样的东西,它会冒泡命令。我需要这些服务器控件,但不需要在代码隐藏中引用它们。 – 2009-07-22 17:37:20