2011-07-18 11 views
0

コントロールは私が欲しい 提出日 asp .net c#のチェックボックスに問題がありますか? aspxページの

を提出この のようなものですチェックボックスがチェックされている場合は、その後、テキストボックスには、私が

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を使用することができます

checkbox_Selectedindexchangedイベントのコード次のチェックボックス

書き込みの真に

<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が有効になっている)他のUpdateパネルも更新されています。他のajaxコントロールも更新されています。この問題を解決する方法を教えてください。 – Pankouri

+0

はい、新しい質問として投稿してください。 – gilly3

0

これは、txtSubmissionDateのデフォルト状態が既に有効になっている可能性が高いためです。

あなたpage_loadでこれを試してみてください:

txtSubmissionDate.enabled = !chkSubmitted.Checked 

明確にするために、テキストボックスはいけないチェックボックスがあるときに有効にすること(!)。

0

これをPage_PreRenderイベントに入れます。この段階では、chkSubmittedのユーザーに影響を受けた状態を取得します。

1

まずセットAutoPostBackプロパティを

if(chkSubmitted.Checked) 
{    
txtSubmissionDate.Enabled = true; 
} 
else 
{ 
txtSubmissionDate.Enabled = false; 
} 
関連する問題