ASP.NET DropDownList 上的 FindByValue

2024-02-27

我在自定义用户控件中有以下代码,其中包含名为 ddlAggerationUnitId 的 DropDownList。 DropDownList 在 Page_Load() 事件上进行数据绑定。 “值”设置为 40 并且它确实存在。如果我删除 set 方法的逻辑,页面将加载并选择正确的项目,但如果该值是假的,页面将引发异常。我想通过在尝试设置值之前查看该值是否存在来避免该异常,这就是为什么逻辑是必要的。

现在看起来编译器正在将 if 语句评估为 false,尽管我知道事实上它应该是 true。

public long? Value
{
    get { return Int64.Parse(ddlAggerationUnitId.SelectedItem.Value); }
    set
    {
        if (ddlAggerationUnitId.Items.FindByValue(value.ToString()) != null)
        {
            ddlAggerationUnitId.SelectedValue = value.ToString();
        }
    }
}

任何帮助将不胜感激!谢谢!

编辑:这是我的 Page_Load() 事件:

protected void Page_Load(object sender, EventArgs e)
{
    ddlAggerationUnitId.DataSource = ExternalAccount.GetAggregationUnits();
    ddlAggerationUnitId.DataTextField = "Value";
    ddlAggerationUnitId.DataValueField = "Key";
    ddlAggerationUnitId.DataBind();
}

以下代码当前有效,但是我认为 DataBind 两次有点奇怪。这证实了我之前的怀疑:数据是在 FindByValue() 之后绑定的?

有人对如何清理这段代码有任何想法吗?

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        BindDdlAggerationUnitId();
    }
}

private void BindDdlAggerationUnitId()
{
    ddlAggerationUnitId.DataSource = SIGOpsGUI.App_Code.Business.ExternalAccount.GetAggregationUnits();
    ddlAggerationUnitId.DataTextField = "Value";
    ddlAggerationUnitId.DataValueField = "Key";
    ddlAggerationUnitId.DataBind();
}


public long? Value
{
    get { return Int64.Parse(ddlAggerationUnitId.SelectedItem.Value); }
    set
    {
        BindDdlAggerationUnitId();
        ddlAggerationUnitId.SelectedIndex = -1;
        ListItem item = ddlAggerationUnitId.Items.FindByValue(value.ToString());
        if (item != null)
        {
            ddlAggerationUnitId.SelectedValue = value.ToString();
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET DropDownList 上的 FindByValue 的相关文章

随机推荐

  • 如何快速识别 Snakemake 中的规则是否需要输入函数

    我正在关注其文档页面上的 Snakemake 教程 并且确实陷入了输入函数的概念https snakemake readthedocs io en stable tutorial advanced html step 3 input fun
  • 未定义符号:_ZdlPvm

    我在用阿波罗咖啡 https github com Russell91 apollocaffe and 重新检查 https github com Russell91 ReInspect Apollocaffe在 c 库中并且Reinspe
  • Ruby:反转哈希以保留非唯一值

    我有一个看起来像这样的哈希 a gt 1 2 3 b gt 4 5 6 c gt 3 4 5 d gt 7 2 3 我想要做的是使用包含它的所有键的数组对所有现有值进行哈希 例如把上面的变成这样 1 gt a 2 gt a d 3 gt a
  • 您可以从 iPhone 应用程序下载 PDF 格式的内容吗

    是否可以将 iPhone 应用程序中的特定屏幕下载为 PDF 格式 我检查了 iphone 开发者门户和很多其他地方 但找不到答案 我想做的就是单击一个按钮 然后将该屏幕下载为 pdf 并将其存储在某个位置 这可能吗 如果是这样 您会将其存
  • 您对 iAd 和 adSense 有何建议 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑在我的应用程序中添加一个添加项 在 iAd 和 adSense 之间 您会向我推荐哪种广告计划
  • 使用未记录的“Application.Trim”并了解 VBA 智能感知建议

    当我用谷歌搜索时Trim 我发现它是一个Excel函数 也是一个VBA函数 在这两种情况下的 VBA 中 它只能与一个单元格一起使用 并且需要对多个单元格的范围进行循环 但是 我发现一些网页说明了使用Application Trim在没有循
  • 如何从java代码运行gradle任务?

    我需要从 java 方法将 gradle eclipse 任务运行到外部 gradle 项目 是否可以使用 Gradle Tooling API 来完成此操作 The 摇篮论坛 https discuss gradle org t exec
  • 如何同时使用 Mercurial 和 svn

    工作中的 SVN 存储库只能在内部访问 至少对于作为承包商的我来说 不工作的时候 我想使用HG 然后第二天与SVN同步 是否建议同时使用两者 有什么问题应该注意吗 The 使用 Subversion https www mercurial
  • 找不到记录器的处理程序

    我是Python新手 我正在尝试登录 python 我遇到了找不到记录器的处理程序尝试通过记录器实例打印一些警告时出错 下面是我尝试过的代码 import logging logger logging getLogger logger lo
  • 获取 UICollectionView 中 Scroll 的总高度?

    我有一个UICollectionView我想在加载内容时调整大小 高度 这个想法是高度应该扩大 以便所有 UICollectionView 单元格都可见 我想知道是否可以获得 内容 大小或滚动高度 Thanks CGFloat height
  • Android Gradle 1.1 - 添加对另一个项目测试的测试依赖项

    我有2个模块 A and B A是一个独立的模块 它的测试本身运行得很好 B是一个依赖模块 它的测试需要某个文件A的测试文件夹 一个测试文件位于B延伸一英寸A 以下是我认为的相关部分B s build gradle android sour
  • 抽象类的析构函数应该是纯虚拟的吗?

    我认为单独虚拟通常就足够了 除了强制派生类实现自己的析构函数之外 是否还有另一个原因使其成为纯虚拟的 我的意思是 如果你在类的构造函数中分配了一些东西 你应该实现你自己的析构函数 无论你的类是否是派生的 正如我已经知道的那样 这不算是答案
  • 如何导出架构并将其导入到 PL\SQL Developer 中的另一个架构

    我正在使用 AllroundAutomations 的 PL SQL Developer 我的任务是将名为 EN 的模式导入到另一个名为 E9 的模式 现在不存在 我设法使用以下方法转储了一个方案Tools gt Export User O
  • 使用 ASP.NET 模拟读取远程文件

    我想阅读远程服务器上存储的 PDF 我已获得具有读取访问权限的用户名 密码 我正在使用此 url 中给出的 ASP NET 模拟https support microsoft com kb 306158 https support micr
  • Python - 使用 ffprobe 获取视频的持续时间

    我是Python新手 我正在尝试使用以下命令获取文件视频的持续时间 以秒为单位 ffprobe 调用如下指令 ffprobe i video mp4 show entries format duration v quiet of csv p
  • NDB 查询以字符串开头的结果

    使用 Google App Engine NDB 我希望查询以用户输入的字符串开头的所有项目 例子 abc 123 abcdefg 123abc 查询 abc 应返回 abc 123 abcdefg 但是 不是 123abc 因为它不 以
  • 在带有数字的文本框中自动添加逗号 (,)

    我当前的编码在有 4 个或更多数字时添加逗号 但不是 1101 1 101 我的代码正在这样做 1101 110 1 我希望它格式化并将逗号放在前面 我的 JavaScript
  • 无法在 Windows 7 / OSX 上安装 jasmine-core

    我正在尝试安装karma jasmine在 Windows 7 Git Bash 上 根据以下指南 http karma runner github io 0 13 intro installation html http karma ru
  • Bing Api 针对简单单词“游戏”返回 41 个结果

    我正在尝试在我的网站中实施 bing 搜索 我需要 JSON 格式的搜索结果 这是我正在使用的网址 我正在尝试搜索一个简单的文字游戏 我应该得到数百万个结果 但我总共得到 41 以下是我的结果的一部分 SearchResponse Vers
  • ASP.NET DropDownList 上的 FindByValue

    我在自定义用户控件中有以下代码 其中包含名为 ddlAggerationUnitId 的 DropDownList DropDownList 在 Page Load 事件上进行数据绑定 值 设置为 40 并且它确实存在 如果我删除 set