FineUI 官方论坛
标题:
DropDownList控件在无选定项时总是会触发SelectedIndexChanged事件
[打印本页]
作者:
是梦~`
时间:
2016-8-1 12:00
标题:
DropDownList控件在无选定项时总是会触发SelectedIndexChanged事件
本帖最后由 是梦~` 于 2016-8-1 12:00 编辑
Bug描述:当下拉列表控件在页面回发时无选中项,总是会触发该控件的SelectedIndexChanged事件。
涉及版本:全版本
Bug原因:
FineUI/WebControls/Field.TextField.DropDownList/DropDownList.cs第1838行(LoadPostData方法中)
对item的判断条件设置,会导致item为null时,LoadPostData方法总是返回True
ListItem item = Items.FindByValue(postValue);
if (item != null && item.Text == postText) <font color="red">//该处判定条件设置有问题</font>
{
// 本次选中的是下拉项
if (SelectedValue != postValue)
{
SelectedValue = postValue;
FState.BackupPostDataProperty("SelectedValue");
return true;
}
}
else
{
//// 本次是用户输入的值
//if (Text != postText)
//{
SelectedValue = null;
FState.BackupPostDataProperty("SelectedValue");
Text = postText;
FState.BackupPostDataProperty("Text");
return true;
//}
}
复制代码
[attach]9068[/attach]
作者:
是梦~`
时间:
2016-8-1 12:51
我的修正办法
[attach]9069[/attach]
因为该控件到目前为止不可能由“有选中项”的状态,变为“无选中项”的状态。任何对下拉列表控件的选项改变,只可能导致其有选中项。所以,
当item为null(即无选中项时)应始终返回false。
作者:
2517833176
时间:
2016-8-2 21:18
自问自答
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4