文章編號: 316495 - 上次校閱: 2007年2月23日 - 版次: 2.4

注意: 選項按鈕互斥不在 Repeater 伺服器控制項中使用時

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

ASP.NET 選項按鈕 控制項加入的資料繫結 Repeater 伺服器控制項的 標記 時所建立的 [選項按鈕] 控制項互斥時不執行 ASP.NET 網頁。即使 群組名稱] 屬性設定為 選項按鈕 控制項,就會發生這個問題。

發生的原因

之所以發生這個問題,是因為 Repeater 伺服器控制項實作要求都巢放在它的所有控制項必須都有唯一的名稱,當呈現超文字標記語言 (HTML) 中的 [INamingContainer] 介面。任何呈現的子系伺服器控制項的 HTML 名稱屬性就唯一。

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的有錯誤。

其他相關資訊

3.2 或更新的 HTML 版本需要所有是互斥的選擇鈕控制項有唯一的名稱屬性相同。因為在繫結 Repeater 內的控制項伺服器控制項必須有唯一的名稱,呈現的 HTML 選項按鈕 控制項不是互斥。

請注意 群組名稱 屬性應該會解決這個問題。若您將 群組名稱 屬性設定每個 選項按鈕] 控制項應該運算伺服器控制項的 群組名稱 屬性所指定的 HTML 相同名稱屬性。因為唯一命名的用戶端會覆寫的 群組名稱 屬性的使用,則不會發生預期的行為。

重現問題的步驟

  1. 建立新的 Microsoft Visual C#.NET Web 應用程式專案。
  2. 在 [設計] 檢視中拖曳 Repeater 伺服器控制項到預設 Webform1.aspx 頁上。
  3. 在 [HTML] 檢視中將下列程式碼加入 <itemtemplate> Repeater1 的程式碼:
    <ItemTemplate>
    <asp:RadioButton id="RadioButton1" runat="server" GroupName="RadioButton1" Text="<%#Container.DataItem.ToString()%>">
    </asp:RadioButton><br>
    </ItemTemplate>
    					
  4. 在的 Webform1.aspx 的該 Page_Load] 事件加入下列程式碼:
    			TestArray[0]="Test Value 0";
    			TestArray[1]="Test Value 1";
    			TestArray[2]="Test Value 2";
    
    			Repeater1.DataSource = TestArray;
    			Repeater1.DataBind();
    					
  5. 將下列的執行個體變數加入至 頁面 類別:
    protected String[] TestArray = new String[3];
    					
  6. 建置該專案,在瀏覽器中檢視頁面。
  7. 按一下每個個別 選項按鈕 控制項,以確認您可以選取它們而不變更其他 選項按鈕 控制項的值。

這篇文章中的資訊適用於:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
關鍵字:?
kbmt kbbug kbdatabinding kbnofix kbservercontrols kbwebforms KB316495 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:316495? (http://support.microsoft.com/kb/316495/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。