selectedIndex 在回发期间丢失 - ASP.NET

2023-11-25

我有一个列表框控件:


<asp:ListBox runat="server" id="lbox" autoPostBack="true" />

背后的代码类似于:


private void Page_Load(object sender, System.EventArgs e)
{
    lbox.SelectedIndexChanged+=new EventHandler(lbox_SelectedIndexChanged);
    if(!Page.IsPostBack)
    {
        LoadData();     
    }
}
private LoadData()
{
    lbox.DataSource = foo();
    lbox.DataBind();
}
protected void lboxScorecard_SelectedIndexChanged(object sender, EventArgs e)
{
    int index = (sender as ListBox).selectedIndex;
}

我的问题是,当我的页面收到回发(当用户在列表框中进行选择时),选择总是“跳转”到列表框中的第一项,因此我的回调函数中的索引变量始终为 0。

看起来这可能是一个视图状态问题?我该如何修复它,以便选择索引在回发过程中保持不变?

没有使用ajax,这是.NET 1.0。

Thanks.

EDIT 1JohnIdol 让我更近了一步,如果我将数据源从原来的 DataTable 切换到 ArrayList,那么一切都会正常工作......什么会导致这个?

Edit 2事实证明,我的 DataTable 有多个相同的值,因此索引被视为与具有相同值的所有项目相同......感谢那些提供帮助的人!


The real这里的问题是事件的顺序。当您在 page_load 中进行数据绑定时,您会覆盖发布的数据,这就是列表框中未设置选择的原因。您可以通过将绑定逻辑移至 Page_Init 轻松克服此问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

selectedIndex 在回发期间丢失 - ASP.NET 的相关文章

随机推荐

  • 使用 CSS 包含自定义字体以使其与大多数浏览器兼容的最佳方法是什么?

    我尝试了各种代码来嵌入自定义字体 最后以下似乎可以在上面的 FF 和 IE8 中工作 但IE7不支持 font face font family xyzfont src url fonts abc font eot format eot u
  • 如何获取 Django 中的所有请求标头?

    我需要获取所有 Django 请求标头 根据我的阅读 Django 只是将所有内容转储到request META变量以及许多其他数据 最好的方法是什么all客户端发送到我的 Django 应用程序的标头 我将用这些来构建一个httplib要
  • Linux 上的 PYTHONPATH [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我是这方面的新手 我已经开始学习Python 但我有一些无法理解的问题 PYTHONPATH 在 Ubuntu 上 到底是什么 它是一个文件夹吗 Python 是 Ubuntu
  • Maven和Ant插件智能复制资源

    很容易使用org apache maven plugins maven antrun plugin复制资源并重命名它们 但有没有一种方法可以使用通配符或其他机制来智能地执行此操作以符合个人规则 例如 如果我有这些文件 project art
  • 如何使用静态方法作为策略设计模式的默认参数?

    我想创建一个使用与此类似的策略设计模式的类 class C staticmethod def default concrete strategy print default staticmethod def other concrete s
  • 如何通过 VirtualBox 运行 Windows 8 Phone 模拟器?

    首先 我不确定我的计算机是否可以处理 VirtualBox 和 Windows 8 手机模拟器 因为没有运行模拟器的按钮 运行 Windows Phone 8 和 VirtualBox 模拟器是否有特定要求 从已安装的 Windows Ph
  • 在 mutate_at 中使用 case_when

    我想用case when within mutate at 如下例所示 mtcars gt mutate at vars vars vs am funs funs case when in c 1 0 9 TRUE in c 2 20 20
  • 正则表达式匹配单个新行。正则表达式匹配双新行

    我正在尝试构建一个正则表达式来匹配一个单独的换行符 n 同样 我需要另一个正则表达式来匹配双换行符 n n 不属于较长的换行符 例如 n n n or n n n n n n etc n n and n n n 匹配太多 它们匹配较长换行符
  • 使用 Linq to GroupBy 和 Sum 数据表

    你好 我有一个这样的数据表 Id Amount 1 Amount 2 Amount 3 1 2 2 2 12 4 6 4 12 6 6 5 22 7 2 1 22 7 2 2 我需要像这样获取我的数据表 Id
  • 使用 CSS font-family 选择不适用于 Android 的 Droid 字体

    我发现以下 HTML 代码在 Android 上不起作用 它只会使用默认字体 Droid Sans 在桌面上它可以按预期工作 p style font family none v nd whisky i tequila pre fix p
  • 使用/ jQuery 滚动到特定元素

    我有一个很长的嵌套 div 列表 我在查询字符串上传递特定元素 实际上是段落元素 的 ID 并打开其 div 和父级 onload 但是 列表太长 有时打开的元素隐藏在窗口底部下方 如何自动滚动用户的浏览器窗口以使显示的元素位于屏幕顶部 您
  • JavaScript 中的有效属性名称、属性分配和访问

    更新的问题 到底什么才是 Javascript 中有效的属性名称 各种财产分配方式有何不同 属性名称如何影响属性访问 Note 我最初问题的答案 见下文 有助于澄清一些事情 但也带来了新的麻烦 现在我有机会更加熟悉 JavaScript 我
  • 如何备份和恢复 Delphi 设置? [复制]

    这个问题在这里已经有答案了 可能的重复 如何迁移 Delphi 或克隆 Delphi 注册表设置 我很快需要格式化我的电脑 但我已经按照我想要的方式完美设置了 IDE 和环境设置 以及我安装的一些组件 显然 格式化并重新安装 Windows
  • ASP.NET MVC 中控制器的内置基类:Controller 还是 ControllerBase?

    ASP NET MVC 中控制器的内置基类是什么 System Web Mvc Controller 还是 System Web Mvc ControllerBase 在谷歌搜索后我不清楚 On ASP NET 控制器是从 System W
  • asp.net core mvc 密码验证器

    在asp net core MVC中自定义密码验证规则的简单方法是什么 这个问题就像有人在这里遇到的一样如何更改 ASP Net MVC Identity 2 中的密码验证 唯一的区别是我正在使用asp net核心MVC 最新版本 使用 V
  • 交互式输入标题,并使用捕获在其下放置条目

    使用如下所示的捕获模板 我可以将条目添加到文件中的不同标题中 如何在捕获期间手动输入标题 而不是像我现在所做的那样将每个标题设置为 emacs 文件中的一个键 setq org capture templates l Log entry f
  • 有没有办法将 matplotlib 图旋转 45 度?

    我正在寻找一种方法 将 matplotlib pyplot Python 库 中生成的绘图旋转 45 度 例如 这样您就可以得到菱形而不是正方形 有人知道这是否可以做到吗 我能想到的一种方法是对所有数据使用旋转过滤器 使其看起来旋转 但绘图
  • 列表视图中的单选按钮

    我在列表视图格式中显示刺痛列表 我使用默认列表视图并使用放置了一个单选按钮simple list item single choice 但这在右侧显示了单选按钮 我想在左侧显示单选按钮 是否可以使用默认列表视图在左侧显示单选按钮 simpl
  • 实现Hadoop的Writable接口的枚举值

    假设我有一个枚举 public enum SomeEnumType implements Writable A 0 B 1 private int value private SomeEnumType int value this valu
  • selectedIndex 在回发期间丢失 - ASP.NET

    我有一个列表框控件