当前位置: 首页 > news >正文

大型网站方案/故事式软文范例100字

大型网站方案,故事式软文范例100字,dreamweaver 网站地图,网站建设综合实训案例dropdownlist设置选定的项 在ASP.NET 2.0 网站页面的开发过程中,经常需要把DropDownList等列表类控件的SelectedValue值设置为一个从数据库或其他地方读取出来的值。 最简单的办法就是直接进行指定:DropDownList1.SelectedValue "中国";但有…

dropdownlist设置选定的项

 

在ASP.NET 2.0 网站页面的开发过程中,经常需要把DropDownList等列表类控件的SelectedValue值设置为一个从数据库或其他地方读取出来的值。

最简单的办法就是直接进行指定:
DropDownList1.SelectedValue = "中国";
但有的时候如果DropDownList1中没有"中国"这一项的话,赋值就会出现异常:
异常详细信息: System.ArgumentOutOfRangeException: “DropDownList1”有一个无效 SelectedValue,因为它不在项目列表中。

想要实现的目标:如果指定的值不在列表项中,则不设置选中项,而且不要抛出异常。


查看MSDN:
SelectedValue 属性还可以用于选择列表控件中的某一项,方法是用该项的值设置此属性。如果列表控件中的任何项都不包含指定值,则会引发 System.ArgumentOutOfRangeException。

但奇怪的是这样赋值在大部分情况下都不会出错,只是偶尔会出错,通过反射查了一下SelectedValue的实现,找到了原因。
public virtual string SelectedValue
{
      get
      {
            int num1 = this.SelectedIndex;
            if (num1 >= 0)
            {
                  return this.Items[num1].Value;
            }
            return string.Empty;
      }
      set
      {
            if (this.Items.Count != 0)
            {
                  if ((value == null) || (base.DesignMode && (value.Length == 0)))
                  {
                        this.ClearSelection();
                        return;
                  }
                  ListItem item1 = this.Items.FindByValue(value);
                  if ((((this.Page != null) && this.Page.IsPostBack) && this._stateLoaded) && (item1 == null))
                  {
                        throw new ArgumentOutOfRangeException("value", SR.GetString("ListControl_SelectionOutOfRange", new object[] { this.ID, "SelectedValue" }));
                  }
                  if (item1 != null)
                  {
                        this.ClearSelection();
                        item1.Selected = true;
                  }
            }
            this.cachedSelectedValue = value;
      }
}

原来只有在页面是IsPostBack的情况下,赋值才会出错。


另外这样写也会出现异常:
DropDownList1.Items.FindByValue("中国").Selected = true;
最后找到了一种方法可以实现上面的要求:
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue("中国"));
就是如果通过FindByValue没有找到指定项则为null,而Items.IndexOf(null)会返回-1

转载于:https://www.cnblogs.com/chjun2000/archive/2009/10/30/1593162.html

http://www.jmfq.cn/news/4764547.html

相关文章:

  • 网页设计与网站建设+pdf/b站视频推广怎么买
  • 医疗网站建设基本流程图/肇庆seo按天收费
  • 桂林 门户网站/网络推广项目计划书
  • 类似站酷的设计类网站/互联网营销的优势
  • dnf做代练哪个网站好点/百度排行榜风云榜小说
  • 网站建设一般需要多少钱/英文谷歌seo
  • 阿里云建站方案/系统推广公司
  • 建设银行河北省分行官方网站/优化网站排名公司
  • 做网站建设公司赚钱吗/网站运营推广
  • 做网站哈尔滨/扬州seo推广
  • 怎样自己做免费网站/宣传推广方案怎么写
  • 赣州做网站/同城推广平台
  • 建设网站需要从哪方面考虑/app推广方法及技巧
  • 网站建设概念/全网营销推广
  • 网站开发和运维区别/百度搜索入口
  • 长宁区网站建设/深圳网站建设公司排名
  • 可作外链的网站/网络营销相关的岗位有哪些
  • 24小时有效地址域名/抖音视频seo霸屏
  • 温州建设工程网站/seo关键词排名优化销售
  • 网站建设的目标是什么/网络营销推广
  • 校友会网站建设方案/怎么查找关键词排名
  • 如何做adsense网站/市场调研报告1500字
  • 青岛做网站建设哪家好/网站目录提交
  • 做减肥网站/app注册推广任务平台
  • 免费网站访问限制系统/网站seo优化分析
  • 优化方案化学/网站seo快速排名优化的软件
  • 贵阳手机网站建设公司/北京seo排名收费
  • 昆明seo网站推广/上海网络推广服务
  • 网站建设制作团队/市场调研方案怎么写
  • 做黄色网站多少年/有哪些平台可以做推广