首页 新闻 会员 周边

如何不让DropDownlist控件内的内容不受 赋值的影响

0
悬赏园豆:5 [已解决问题] 解决于 2012-03-02 18:11

我的页面是这样子的,上面一部分是DropDownlist控件,下面是Gridview,当选中gridview的时候,上面的DropDownlist控件,显示选中的内容,用下面的代码实现,没有报错.

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = GridView1.SelectedRow;      
         this.txtha03.SelectedItem.Text = HttpUtility.HtmlDecode(row.Cells[4].Text);

}

问题是我发现多选 中几次后,DropDownlist控件下拉框的内容发生了变化,以前是A,B,C,D,多选中几次后, 就变成了,A,A,A,A 真要命,如何不让DropDownlist控件内的内容不受 赋值的影响呢

zhengyingcan的主页 zhengyingcan | 初学一级 | 园豆:12
提问于:2012-02-21 08:58
< >
分享
最佳答案
0

        txtha03.Items.FindByText("A").Selected = true;

收获园豆:4
子夜一梦 | 菜鸟二级 |园豆:213 | 2012-02-21 09:35

txtha03.Items.FindByText(HttpUtility.HtmlDecode(row.Cells[4].Text)).Selected = true;

子夜一梦 | 园豆:213 (菜鸟二级) | 2012-02-21 09:36

@子夜一梦:

 if(HttpUtility.HtmlDecode(row.Cells[39].Text).Length>1)
        {
        this.txtha20.Items.FindByText(HttpUtility.HtmlDecode(row.Cells[39].Text)).Selected = true;
        }
结果选择每一次OK,每二次就开始报错,提示如下

“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------

不能在 DropDownList 中选择多个项。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 不能在 DropDownList 中选择多个项。

 

zhengyingcan | 园豆:12 (初学一级) | 2012-02-21 10:46

@zhengyingcan: 

呵呵 那就是 要把之前选择的项清理了

test.SelectedItem.Selected = false;

this.txtha20.Items.FindByText(HttpUtility.HtmlDecode(row.Cells[39].Text)).Selected = true;

子夜一梦 | 园豆:213 (菜鸟二级) | 2012-02-21 14:26

 

this.txtha20.SelectedItem.Selected = false;

this.txtha20.Items.FindByText(HttpUtility.HtmlDecode(row.Cells[39].Text)).Selected = true;

子夜一梦 | 园豆:213 (菜鸟二级) | 2012-02-21 14:28
其他回答(3)
0

不能用SelectedItem.Text,这样会改变当前选中的值,当然会成为你说的那样,你把

this.txtha03.SelectedItem.Text = HttpUtility.HtmlDecode(row.Cells[4].Text);

改为:

this.txtha03.SelectedValue = HttpUtility.HtmlDecode(row.Cells[4].Text);

试试

因为不知道你的DropDownlist中显示的内容和值是不是一样的,所以上面的代码不一定正确

收获园豆:1
artwl | 园豆:16736 (专家六级) | 2012-02-21 09:15

不行,提示“txtha20”有一个无效 SelectedValue,因为它不在项目列表中。

支持(0) 反对(0) zhengyingcan | 园豆:12 (初学一级) | 2012-02-21 10:17
0

this.txtha03.Items.Insert(0,new ListItem(HttpUtility.HtmlDecode(row.Cells[4].Text;

因为你不能保证gridview对应的项在dropdownlist都可以找到。试试

HTTP.POST.COM | 园豆:207 (菜鸟二级) | 2012-02-21 11:02
0

选择完之后将里面的内容清一下。

zhangdaowu5 | 园豆:265 (菜鸟二级) | 2012-03-02 17:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册