2011-07-18 48 views
0

aspx頁面上的控制都是這樣 提交 提交日期 問題在asp.net.net c#中的複選框?

我想,如果複選框被選中,則文本框將被啓用我在寫

if(chkSubmitted.Checked) 
     { 
      txtSubmissionDate.Enabled = true; 
     } 

頁面加載事件。但是當頁面被加載時,這個複選框不起作用。發生什麼事了?

+1

你能發佈你的page_load代碼嗎?記得你需要檢查回傳嗎? – 5arx

+0

您是否在chkSubmitted控件上啓用了viewstate? –

+0

該代碼應該在Page_PreRender事件中。 – Icemanind

回答

1

如果你想點擊複選框啓用文本框的動作,你需要做一個回發時,箱子被設置AutoPostBack="True"檢查:

<asp:CheckBox runat="server" ID="chkSubmitted" AutoPostBack="True" /> 

或者,你可以使用JavaScript:

<asp:CheckBox runat="server" ID="chkSubmitted" onclick="setSubmissionDateEnabled()" /> 

function setSubmissionDateEnabled() 
{ 
    var chkSubmitted = document.getElementById("<%= chkSubmitted.ClientID %>"); 
    var txtSubmissionDate = document.getElementById("<%= txtSubmissionDate.ClientID %>"); 
    txtSubmissionDate.disabled = !chkSubmitted.checked; 
} 
+0

Thnx你的答案,但現在我有一個新的概率,我已經把控件放在更新面板。但是,還有其他更新面板,當這個(txtbox啓用)正在更新時,其他ajax控件也更新,我不想要,你能告訴我如何解決這個問題,或者我把這個地方作爲新問題。 – Pankouri

+0

是的,請把它作爲一個新問題發佈。 – gilly3

0

這很可能是因爲txtSubmissionDate的默認狀態已啓用。

page_load試試這個:

txtSubmissionDate.enabled = !chkSubmitted.Checked 

爲了澄清,文本框不應該當複選框被啓用(!)。

0

把這放在Page_PreRender事件。在這個階段它將捕獲用戶受影響的chkSubmitted狀態。

1

第一套自動回屬性複選框的真實

寫下面的代碼在checkbox_Selectedindexchanged事件

if(chkSubmitted.Checked) 
{    
txtSubmissionDate.Enabled = true; 
} 
else 
{ 
txtSubmissionDate.Enabled = false; 
}