updatepanel にドロップダウンリストとテキストボックスがあります。つまり、AuditName、監査日です。AuditName ドロップダウンリストには、データベースから取得された値があります。監査日は日付を設定するためのものです。ここではjquery datepickerを使用しています。
問題は、ページの読み込み時に日付ピッカーが正常に機能していることです。しかし、ドロップダウンから値を選択すると、日付ピッカーが機能しませんでした(日付も表示されません)。
最初に日付を選択してからドロップダウンを選択すると、テキストボックスの値がクリアされます。なぜそれが起こるのかわかりません..
私のコードは、
<script>
$(function () {
$('#<%= txtAuditduedate.ClientID %>').datepicker(
{ minDate: 0, changeMonth: true, changeYear: true });
});
</script>
<asp:UpdatePanel runat="server" ID="upnlAddschedule" UpdateMode="Conditional">
<ContentTemplate>
<table cellpadding="5" cellspacing="5" width="100%">
<tr>
<td align="right">
<asp:Label runat="server" ID="lblAuditlist" Text="Audit Name:/>
</td>
<td align="left">
<asp:DropDownList runat="server" ID="ddauditlist" TabIndex="100" AppendDataBoundItems="true" Width="194px" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="right">
<asp:Label runat="server" ID="lblDuedate" Text="Audit Due Date:"></asp:Label>
</td>
<td align="left">
<asp:TextBox runat="server" ID="txtAuditduedate" Width="189px" Font-Bold="False" ReadOnly="true" TabIndex="101" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
これは私のドロップダウン バインド コードです。
public void FillDropDownList()
{
s = WebConfigurationManager.ConnectionStrings["Scon"].ConnectionString;
con = new SqlConnection(s);
con.Open();
cmd = new SqlCommand("select AUDITNAME from MASTER ", con);
dr = cmd.ExecuteReader();
while (dr.Read())
{
ddauditlist.Items.Add(new ListItem(dr["AUDITNAME"].ToString()));
}
dr.Close();
con.Close();
}