我想在我的 DropDown
列表中捕获所选日期,其中有五天将显示在 DropdownList
上。
我通常将默认值放在 DropDown
上,但这次不是,因为在下拉列表中我希望它始终显示当前日期和接下来的五天。但我不知道如何捕获数据。
<asp:DropDownList ID="ddldate" runat="server">
</asp:DropDownList>
protected void Page_Load(object sender, EventArgs e)
{
List<ListItem> items = new List<ListItem>();
for (int i = 0; i < 5; i++)
{
items.Add(new ListItem(
DateTime.Now.AddDays(i).ToShortDateString(),
DateTime.Now.AddDays(i).ToShortDateString()));
}
ddldate.DataSource = items;
ddldate.DataBind();
ddldate.Items[0].Selected = true;
}
protected void Button1_Click(object sender, EventArgs e)
{
string deliverytime = ddldate.SelectedValue.ToString();
lbltest.Text = deliverytime;
}
最佳答案
您正在为每次回发重新填充 DropDownList
并重新加载页面,因此 SelectedValue
属性值可能与发布的值不同。只需检查 IsPostBack
以防止在回发时重新填充 DropDownList
数据:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<ListItem> items = new List<ListItem>();
for (int i = 0; i < 5; i++)
{
items.Add(new ListItem(DateTime.Now.AddDays(i).ToShortDateString(), DateTime.Now.AddDays(i).ToShortDateString()));
}
ddldate.DataSource = items;
ddldate.DataBind();
ddldate.Items[0].Selected = true;
}
}
关于c# - 从显示下拉列表不是默认值的下拉列表中捕获值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53076426/