2009-07-22 41 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