我本无名
菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。
    昨天发表一个asp.net三级联动的代码,可是今天却发现有一些问题,是什么呢。如下
一,就是你在打开页面的时候,省份里有一个默认的省份,可是市,区却没有,你得换一个省份才行,可是这时出现的市列表也得选择才行。
二,就是在后台,我们用this.ddlone.selectItem.text取不到值。
下面我就对上面的二个问题做一下说明
一,对于这种情况,我们可以采用,把默认的值改成一个--选择省份--这样的代码,就好了。下面是代码。
在相应的javascript代码中
var result=oHttpReq.responseText; //找到这一行,在下面加上后面四个行
var newOption_0 = document.createElement("OPTION");
newOption_0.text = "-请选择-";
newOption_0.value = '-1';
drp2.options.add(newOption_0);
oDoc.loadXML(result);//这行也是原有的,中间的部分是后加上去的
      
       这下应该可以看明白了吧。就是在加载xml之前你給它加上一个空的这样就好。这样可以解决市,区的部分,哪么省的部分呢。省我们是用DataSet进行绑的,在以前我的文章里说了一个方法,下面把代码写出来。
this.ddlPro.DataBind();//这一句就是你绑定的最后一句,在下面加入如下就可以了

            this.ddlPro.Items.Insert(0,new ListItem("--选择省份--","-1"));
            this.ddlPro.SelectedIndex = -1;
            ListItem    myitem   =   this.ddlPro.Items.FindByValue("-1");
            myitem.Selected   =   true;
二,对于取不到值的问题其实很简单,我们只要用
Request.Form["ddlCity"].ToString();这样来取,第二级,第三级的名就可以了。

现在加上再试一下,看一下效果。

posted on 2007-12-10 16:15  我本无名  阅读(302)  评论(0编辑  收藏  举报