首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET:为什么ListControl.Text返回所选ListItem的*值*而不是*文本*?

ASP.NET:为什么ListControl.Text返回所选ListItem的*值*而不是*文本*?
EN

Stack Overflow用户
提问于 2011-03-08 12:43:52
回答 2查看 890关注 0票数 2

ListControl派生的列表控件(如DropDownListListBoxRadioButtonList )由ListItem的列表填充。ListItem具有ValueText属性。

ListControl提供了以下方法来访问当前选定的项:

  • ListControl.SelectedItem返回当前选定的ListItem
  • ListControl.SelectedValue返回当前选定的ListItemValue属性。

有趣的是:

  • ListControl.Text返回与ListControl.SelectedValue完全相同的值。它不会像人们所预期的那样返回SelectedItem.Text

我是精心设计

ListControl.Text Property 获取或设置SelectedValue控件的ListControl属性。 ..。 备注 Text属性获取和设置与SelectedValue属性相同的值。

这似乎违反了直觉和迷惑人。我的问题是:为什么要这样做?我可以想象,提供一个Text属性对于实现ITextControl接口是必要的,但是为什么要让它返回ListItem的Value而不是Text呢?

EN

回答 2

Stack Overflow用户

发布于 2013-10-16 19:19:38

如果用于处理ASPX页的代码使用ITextControl接口定义所有控件,则Text属性是唯一可用的属性。在处理ListControl时,我编写的大部分业务逻辑都关心所选项的值,而不是文本。因此,在我看来,当前的行为就是期望的行为,即使它不一定是预期的行为。

票数 1
EN

Stack Overflow用户

发布于 2011-03-08 12:48:11

在使用.NET Reflector之前,我已经检查过了。如果ListItem.Text为null,则返回ListItem.Value;如果为null,则返回空字符串。它也适用于ListItem.Value,反之亦然。所以这不是ListControl做的,而是所选的项目本身。

HTH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5232610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档