2011-11-11 260 views
11

我想弄清楚爲什麼這段代碼不會觸發單選按鈕更改事件。ASP.NET單選按鈕更改

這裏有2個單選按鈕

<asp:RadioButton ID="rdoButton1" GroupName="Group1" Text="Yes" Value="Yes" runat="server" OnCheckedChanged="Group1_CheckedChanged" /> 
    <asp:RadioButton ID="rdoButton2" GroupName="Group1" Text="No" Value="No" runat="server" OnCheckedChanged="Group1_CheckedChanged" /> 

而且這裏的ASP頁面的代碼背後的代碼:

protected void Group1_CheckedChanged(Object sender, EventArgs e) 
{ 
    if (rdoButton1.Checked) { 
     panel1.Visible = true; 
    } 

    if (rdoButton2.Checked) { 
     panel1.Visible = false; 
    } 
} 

回答

28

你需要爲了告訴ASP指定屬性和價值AutoPostBack="true"。 NET更改爲元素應該觸發回傳。它應該適用於您希望導致回發的每個單獨的RadioButton。

+0

該死的,這種低級錯誤,非常感謝,它的工作。 – Victor

+0

不用擔心.. :) –

5

您應該將AutoPostBack=True屬性添加到兩個控件。

+0

但推薦使用引號括起引號。 –

4

你必須指定AutoPostBack=True兩個控制

2

我會用RadioButtonList代替。並設置AutoPostBack=true爲你想做的事情。

2

你應該設置AutoPostBack = True並且在你的函數中的句柄後面的代碼中。

例子:

Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)   Handles RadioButton1.CheckedChanged