listBox に DateTime を入力したいと思います。まず、ASP.NET でコードを作成しました。
<table>
<tr>
<td>
<asp:ListBox
ID="ListBoxDate"
runat="server"
AutoPostBack="True"
OnSelectedIndexChanged="ListBoxDate_SelectedIndexChanged" >
</asp:ListBox>
</td>
</tr>
</table>
これはC#のメソッドです
protected void Page_Load(object sender, EventArgs e)
{
ListBoxDate.DataSource = GetAllDate(); /* it returns a list of objects Date (which is a class with an attribute DateTime) */
ListBoxDate.DataTextField = "_Date";
ListBoxDate.DataValueField = "_Date";
ListBoxDate.DataBind();
}
そして、イベントをクリックしたときの ListBoxDate_SelectedIndexChanged メソッド:
protected void ListBoxDate_SelectedIndexChanged(object sender, EventArgs e)
{
Date date= new Date()
{
_Date = ListBoxDate.SelectedValue,
};
}
そして、日付をクリックすると、DateTime や日付を含む文字列ではなく、空の文字列が復元されます。(リストボックスは、ブラウザに表示される場合は問題ありません)
文字列である他の属性でも同じ原則を実行しましたが、問題ありませんでした。問題は実際には DateTime の使用です。
では、 listBox をクリックした後、どうすれば Date を回復できますか?