日历

2008 8.21 Thu
     12
3456789
10111213141516
17181920212223
24252627282930
31      
«» 2008 - 8 «»

文章搜索

日志文章

2008年07月09日 12:02:54

DropDownList 异项同值处理方法

上午碰到一小小问题.关于DropdownList
当在一DropdownList中填充数据,以键值对的形式进行存储
源文件如下:
<option selected="selected" value="5-">梅山</option>
<option value="3">大榭</option>
<option value="5">宁波</option>
<option value="1">大矸</option>
<option value="1">霞浦</option>
<option value="2">小港</option>
<option value="2">柴桥</option>
<option value="3">白峰</option>
<option value="4">春晓</option>
<option value="5">鄞州</option>
<option value="5">镇海</option>
<option value="8">奉化</option>
<option value="9">慈溪</option>
<option value="11">余姚</option>
<option value="11">宁海</option>
<option value="18">象山</option>
此时将会出现一个问题,当选择一个地点时,如果该系数的地点有多个,将选择不到,被选择到的将是,同一系数(值)的最后一个地点
比如:选择鄞州/镇海/宁波在DropDownList中填充的将是梅山,这并不是我们的本意
经过了解.net处理的机制如此,所以此处将应该把值进行区别,以便于选择

代码如下:
string t = "-";
    for (int k = 0; k < this.listDiDian.Items.Count; k++)
    {
      //以'-'进行隔断,以便于区分值
        this.listDiDian.Items[k].Value = this.listDiDian.Items[k].Value + t;
        t = t + "-";
    }
这样进行区分之后的,源文件如下:
<option selected="selected" value="5-">梅山</option>
<option value="3--">大榭</option>
<option value="5---">宁波</option>
<option value="1----">大矸</option>
<option value="1-----">霞浦</option>
<option value="2------">小港</option>
<option value="2-------">柴桥</option>
<option value="3--------">白峰</option>
<option value="4---------">春晓</option>
<option value="5----------">鄞州</option>
<option value="5-----------">镇海</option>
<option value="8------------">奉化</option>
<option value="9-------------">慈溪</option>
<option value="11--------------">余姚</option>
<option value="11---------------">宁海</option>
<option value="18----------------">象山</option>
获得DropDownList中的选项以及值时
string str=list.SelectedItem.Text;
string strValue=list.SelectedValue.Replace("-","");

到此将不会在发生一开始碰到的问题了!


类别: ASP.NET |  评论(0) |  浏览(1405) |  收藏
发表评论