在编程中选中某项的方法:![]() ![]()
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { int year = int.Parse(DropDownList1.SelectedValue); int month = int.Parse(DropDownList2.SelectedValue); int day = DateTime.DaysInMonth(year, month); DropDownList3.Items.Clear(); for (int i = 1; i <= day; i++) { ListItem newItem = new ListItem(i.ToString(), i.ToString()); DropDownList3.Items.Add(newItem); } } 不过我遇到的不是这个问题,是个Bug,关机再开就能运行,奇怪。而且VS2005IDE键位还变了,删除行变成了Ctrl+Y(VB的习惯),恢复预置环境就好了。 看来遇到问题还是要冷静:可以采用的处理方法是:祈祷一句,骂一句,睡一觉,关机一次。 下面附一个最基本的实例。主要,要实现联动DropDownList1的AutoPostBack属性要开。 Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> Default.aspx.cs<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www./1999/xhtml" > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList> <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList> <asp:DropDownList ID="DropDownList3" runat="server"> </asp:DropDownList></div> </form> </body> </html> using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) { for (int i = 2001; i < 2031; i++) { DropDownList1.Items.Add(new ListItem(c(i))); } for (int i = 1; i < 13; i++) { DropDownList2.Items.Add(new ListItem(c(i))); } for (int i = 1; i < 32; i++) { DropDownList3.Items.Add(new ListItem(c(i))); } } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { DropDownList3.Items.Clear(); int days = DateTime.DaysInMonth(int.Parse(DropDownList1.SelectedValue), int.Parse(DropDownList2.SelectedValue)); for (int i = 1; i <= days; i++) { DropDownList3.Items.Add(new ListItem(c(i))); } } string c(int i) { string u = i.ToString(); if (u.Length == 1) { u = "0" + u; } return u; } } |
|
来自: 悟静 > 《.net和asp.net》