分4级类 层层递进,选中一个 第二个绑定,现在是刷新的,写在了SelectedIndexChanged里 每选次都刷新下才出来求不刷新的代码 ,高手们指教下
解决方案 »
- asp.net 怎么上传文件夹啊,不传压缩包!
- 一条新闻三个关键字,如何取相关新闻
- 一个奇怪奇怪的错误!!!
- 求firefox浏览器滚动条样式设置方法。。。
- MailServer为什么在我的VS2005上写不上去啊
- .net分页存在大量的冗佘!
- .net如何和美工配合?比如用DataGrid控件显示数据如何去掉那条控件自带的表格线?如何在每条信息前加一个小图标?怎么做?
- ==========================██ 如何在asp.net中释放资源?asp.net + xml,实现无数据库的信息系统 ██==========================
- 各位看官。。帮忙解决下这个错误。。。
- 求解MVC3的问题,
- 在服务器上处理请求时出现未知错误。服务器返回的状态码为500
- 网站里有网站的处理问题
{
DataSetds=newDataSet();
stringsql="";
ds=sda.getDataSet(sql);
if(ds.Tables[0].Rows.Count>0)
{
foreach(DataRowdrinds.Tables[0].Rows)
{
ListItemli=newListItem();
li.Text=dr[0].ToString();
li.Value=dr[0].ToString();
this.DropDownList1.Items.Add(li);
}
}
DropDownList2.Items.Clear();
sql="selectnamefromgc_supervisorwheredeptment='"ds.Tables[0].Rows[0][0].ToString()"'";
ds=sda.getDataSet(sql);
if(ds.Tables[0].Rows.Count>0)
{
foreach(DataRowdrinds.Tables[0].Rows)
{
ListItemli=newListItem();
li.Text=dr[0].ToString();
li.Value=dr[0].ToString();
this.DropDownList2.Items.Add(li);
}
}
}
protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)
{
DataSetds=newDataSet();
DropDownList2.Items.Clear();
stringsql="select*from*where*='"DropDownList1.SelectedValue"'";
ds=sda.getDataSet(sql);
if(ds.Tables[0].Rows.Count>0)
{
foreach(DataRowdrinds.Tables[0].Rows)
{
ListItemli=newListItem();
li.Text=dr[0].ToString();
li.Value=dr[0].ToString();
this.DropDownList2.Items.Add(li);
}
}
}
2003里没有UpdatePanel
ajax我也没用好
下面我按2003的例子写的测试程序,当选品牌的时候出现脚本错误,aa 未定义(aa是我测试的是个用户控件)<script language="javascript">
function changeB()
{
aa.BindToddlSeries();}
</script>
<SELECT id="ddlBrands" runat="server" onchange="changeB()">
<OPTION selected></OPTION>
</SELECT><SELECT id="ddlSeries" runat="server">
<OPTION selected></OPTION>
</SELECT>
private void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(db9che.aa));
if(!Page.IsPostBack)
{
BindToddlBrands();
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void BindToddlBrands()
{
bgmanage.bgClass.Car car = new bgmanage.bgClass.Car();
DataTable dt = car.selBase("bID,bName","tbCarBrands"," order by bType");
dt.Rows.Add(new object[]{"0","== 品 牌 =="});
dt.DefaultView.Sort = "bID ASC";
this.ddlBrands.DataSource = dt.DefaultView;
this.ddlBrands.DataValueField = "bID";
this.ddlBrands.DataTextField = "bName";
this.ddlBrands.DataBind();
} [Ajax.AjaxMethod()]
private void BindToddlSeries()
{
if(this.ddlBrands.Value=="0")
{
return ;
}
bgmanage.bgClass.Car car = new bgmanage.bgClass.Car();
DataTable dt = car.selBase("sID,sName","tbCarSeries"," where bid="+this.ddlBrands.Value);
dt.Rows.Add(new object[]{"0","== 系 列 =="});
dt.DefaultView.Sort = "sID ASC";
this.ddlSeries.DataSource = dt.DefaultView;
this.ddlSeries.DataValueField = "sID";
this.ddlSeries.DataTextField = "sName";
this.ddlSeries.DataBind();
}
用ajax可以实现的了
看楼主的写法,你没引用ajaxpro.dll吧
如果引用了应该是不会报脚本错的
$(document).ready(function(){
$.ajax({
type:"get",
cache:false,
url:"ajaxpage.aspx?t=getcity",
dataType:"json",
success:function(data){
$("#city").html(data.info);//添加下拉框的option
}
})
})/*联动,根据城市获取其下面的地区*/
$(document).ready(function(){
$("#city").change(function(){
$.ajax({
type:"get",
cache:false,
url:"ajaxpage.aspx?t=getdiqu&cityid="+jQuery("#city option:selected").val()+"",
dataType:"json",
success:function(data){
if(data.sta == 0)
{
alert("xx");
}
else
{
$("#diqu").html(data.info);
document.getElementById("cityid").value=jQuery("#city option:selected").val();
}
}
})
})
})
引用了,要不然这句就报错了
Ajax.Utility.RegisterTypeForAjax(typeof(db9che.aa));
再从json取值给每个dropdownlist赋值