我在注册页面,弄了个省市联动的DropDownList问题是,发现SelectedIndexChanged之前会再load一次页面那么我添加上IsPostBack,两个DDL可以联动了,但是验证码会刷新!!!,我的验证码是用JS刷新的,并且同时会把之前填好的密码、邮箱等其他内容就会刷掉了我的验证码是一个ashx处理文件,问过说可以用JS来联动省市ddl控件,那怎么写?谢谢各位指点了,本人这几周来学习.NET举步为艰啊,在这里感谢各位对本人层出不穷的问题的耐心解答感谢代码: protected void Page_Load(object sender, EventArgs e)
{
//绑定数据到ddl省份,城市
if (!IsPostBack)
{
DataTable dt_prov; dt_prov = spaceList.Get_Province();
ddl_Province.DataSource = dt_prov.DefaultView;
ddl_Province.DataValueField = "ProvinceID";
ddl_Province.DataTextField = "ProvinceName";
ddl_Province.DataBind();
}
} protected void ddl_Province_SelectedIndexChanged(object sender, EventArgs e)
{
provinceID = Convert.ToInt32(ddl_Province.SelectedValue.Trim().ToString());
dt_city = spaceList.Get_City(provinceID);
ddl_City.DataSource = dt_city.DefaultView;
ddl_City.DataValueField = "CityID";
ddl_City.DataTextField = "CityName";
ddl_City.DataBind();
}
{
//绑定数据到ddl省份,城市
if (!IsPostBack)
{
DataTable dt_prov; dt_prov = spaceList.Get_Province();
ddl_Province.DataSource = dt_prov.DefaultView;
ddl_Province.DataValueField = "ProvinceID";
ddl_Province.DataTextField = "ProvinceName";
ddl_Province.DataBind();
}
} protected void ddl_Province_SelectedIndexChanged(object sender, EventArgs e)
{
provinceID = Convert.ToInt32(ddl_Province.SelectedValue.Trim().ToString());
dt_city = spaceList.Get_City(provinceID);
ddl_City.DataSource = dt_city.DefaultView;
ddl_City.DataValueField = "CityID";
ddl_City.DataTextField = "CityName";
ddl_City.DataBind();
}
UpdatePanel <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
所在地区:<asp:DropDownList ID="ddlProvince" Width="80px" runat="server" AutoPostBack="true"
AppendDataBoundItems="True" OnSelectedIndexChanged="ddlProvince_SelectedIndexChanged">
<asp:ListItem Text="全国" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server" AppendDataBoundItems="True" Width="80px">
<asp:ListItem Text="所有地区" Value="-1"></asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
谢谢,原来是Ajax控件
回头学学用法,微软的这个Ajax和自己建的异步对象是一样的吗?
</asp:ScriptManager>
只能有一个。
<asp:UpdatePanel runat="server">
....需要无刷新的控件代码
</asp:UpdatePanel>
然后就是加一个updatepanel控件。 将你不需要刷新的内容放在这个控件中间就行。 该控件可以出现多个