日期:2014-05-17  浏览次数:20410 次

下拉框有一个无效 SelectedValue,因为它不在项目列表中
C# code
AssessProjectID_Select.DataSource = FrameWork.BusinessFacade.GetList("KPI_AssessProject");
            AssessProjectID_Select.DataTextField = "AssessProjectName";
            AssessProjectID_Select.DataValueField = "AssessProjectID";
            AssessProjectID_Select.DataBind();


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


我网上查了查,需要加一个默认选项,AssessProjectID_Select.SelectedValue = "4";
这样暂时可以了,但是我把键为4的项删除后又不行了,怎么解决这个啊

------解决方案--------------------
没太看明白你的意思。 你数据库里读出来怎么会有 无效的 Value 呢 你绑定的是ID就应该不会有问题。

如果你要加默认项,应该是把值设置为0或者更小。
AssessProjectID_Select.DataSource = FrameWork.BusinessFacade.GetList("KPI_AssessProject");
AssessProjectID_Select.DataTextField = "AssessProjectName";
AssessProjectID_Select.DataValueField = "AssessProjectID";
AssessProjectID_Select.DataBind();
AssessProjectID_Select.Items.Insert(0, new ListItem("请选择", "0"));

不知道你是不是要加默认选择项,为什么非要加4
------解决方案--------------------
如果你要指定 AssessProjectID_Select 的选择项,可以设定为该项的值,但是删除项目后你这个设定要重新更改。 否则就出现 该项不在项目中。


------解决方案--------------------
说明

AssessProjectID_Select里面没有你要设置的值


------解决方案--------------------
其他代码不会有影响吧。

应该说,还真有可能其他代码的影响,
你可以新建页面
把AssesTypeID_Select.DataSource = FrameWork.BusinessFacade.GetList("KPI_AssesType");
AssesTypeID_Select.DataTextField = "AssesTypeDesc";
AssesTypeID_Select.DataValueField = "AssesTypeID";
//AssesTypeID_Select.SelectedValue = "1";
AssesTypeID_Select.DataBind();
AssesTypeID_Select.Items.Insert(0, new ListItem("请选择", ""));

放到新建页面里面,其他的不加,你可以测试是否还保错》