ASP.NET CascadingDropDownコントロールを使用して、ユーザーが選択した値と回答をレンダリングしようとしています。最初の2つのドロップダウンには、ユーザーが最後にページにアクセスしたときに選択した回答が常に表示されます。また、新しい値を選択して保存することもでき、データベースに正しく保存されます。問題は、次にこのページにアクセスしてドロップダウン値を編集するときに、最初の2つはユーザーが選択した回答を正しく表示しますが、3つ目は表示しません)。
この3番目のドロップダウンを正しく表示するにはどうすればよいですか?デバッグ時に、選択した値がサーバーのGetTaxoメソッドに渡されていないように見えます。
リピーターを使用して、以下を含むカスタムコントロールを出力しています。
<asp:DropDownList id="cboResponse" DataTextField="lov_label"
DataValueField="lov_cd" EnableViewState="True" runat="server" />
<ajaxToolkit:CascadingDropDown ID="CDDL" runat="server" Category="-"
EnableViewState="True" ServiceMethod="GetTaxo"
ServicePath="/ajax/SaT.asmx"
TargetControlID="cboResponse" PromptValue="-1" PromptText="(Select One)"
LoadingText ="Loading..." />
コードビハインドで、カテゴリとCascadingDropDownのSelectedValueを設定しました。
CDDL.Category = questionId
CDDL.SelectedValue = cboResponse.SelectedValue
ページがレンダリングされるとき、SelectedValueが設定されているので問題はありません。Category = 5149のドロップダウンですが、SelectedValueをサーバーに渡していないようです。
Sys.Application.add_init(function() {
$create(AjaxControlToolkit.CascadingDropDownBehavior, {"Category":"4548","ClientStateFieldID":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl03_ctl02_CDDL_ClientState","LoadingText":"Loading...","PromptText":"(Select One)","PromptValue":"-1","SelectedValue":"MyAnswer","ServiceMethod":"GetTaxo","ServicePath":"/ajax/SaT.asmx","id":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl03_ctl02_CDDL"}, null, null, $get("ucInvEdit_ucQuestionRepeater_rptQuestions_ctl03_ctl02_cboResponse"));
});
document.getElementById('ucInvEdit_ucQuestionRepeater_rptQuestions_ctl03_ctl02_valSelectionRequired').dispose = function() {
Array.remove(Page_Validators, document.getElementById('ucInvEdit_ucQuestionRepeater_rptQuestions_ctl03_ctl02_valSelectionRequired'));
}
Sys.Application.add_init(function() {
$create(AjaxControlToolkit.CascadingDropDownBehavior, {"Category":"4025","ClientStateFieldID":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl04_ctl02_CDDL_ClientState","LoadingText":"Loading...","ParentControlID":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl03_ctl02_cboResponse","PromptText":"(Select One)","PromptValue":"-1","SelectedValue":"MyAnswer2","ServiceMethod":"GetTaxo","ServicePath":"/ajax/SaT.asmx","id":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl04_ctl02_CDDL"}, null, null, $get("ucInvEdit_ucQuestionRepeater_rptQuestions_ctl04_ctl02_cboResponse"));
});
document.getElementById('ucInvEdit_ucQuestionRepeater_rptQuestions_ctl04_ctl02_valSelectionRequired').dispose = function() {
Array.remove(Page_Validators, document.getElementById('ucInvEdit_ucQuestionRepeater_rptQuestions_ctl04_ctl02_valSelectionRequired'));
}
Sys.Application.add_init(function() {
$create(AjaxControlToolkit.CascadingDropDownBehavior, {"Category":"5149","ClientStateFieldID":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl05_ctl02_CDDL_ClientState","LoadingText":"Loading...","ParentControlID":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl04_ctl02_cboResponse","PromptText":"(Select One)","PromptValue":"-1","SelectedValue":"MyAnswer3","ServiceMethod":"GetTaxo","ServicePath":"/ajax/SaT.asmx","id":"ucInvEdit_ucQuestionRepeater_rptQuestions_ctl05_ctl02_CDDL"}, null, null, $get("ucInvEdit_ucQuestionRepeater_rptQuestions_ctl05_ctl02_cboResponse"));
});
document.getElementById('ucInvEdit_ucQuestionRepeater_rptQuestions_ctl05_ctl02_valSelectionRequired').dispose = function() {
Array.remove(Page_Validators, document.getElementById('ucInvEdit_ucQuestionRepeater_rptQuestions_ctl05_ctl02_valSelectionRequired'));
}