【问题标题】:Trouble with selected radiobuttonlist value on postback vb.net回发 vb.net 上选择的单选按钮列表值出现问题
【发布时间】:2010-09-08 18:12:16
【问题描述】:

我在用于配置产品的页面上有一个单选按钮列表。当页面第一次加载时,会显示第一个选项列表。您选择其中一个,然后单击“下一步”按钮,页面回发并显示第 2 步的新单选按钮列表。现在,如果我单击“上一步”按钮,我可以轻松获取要显示的上一个选项列表但由于某种原因,我无法选择其中一个单选按钮。我可以轻松带回我需要的价值。在制作单选按钮列表后,我有一个步骤,它只是说 radiobuttonlist.selected = "somevalue" 取决于用户第一次完成第一步时选择的任何内容。

当我调试时,我看到该值是正确的并且正在被应用。但是当页面显示时,单选按钮没有被选中。

我注意到,当我在调试时单击“上一个”按钮时,会发生以下步骤。:

page.load 处理程序运行并且我的 if not page.ispostback 块中的代码没有运行,这是正确的。 然后我刚刚单击的按钮的句柄开始运行。 但之后 page.load 处理程序再次运行,但这一次 if not page.ispostback 块中的代码确实运行...

这正常吗?让 page.onload 块在回发时像这样运行两次?我认为这可能与为什么我的价值没有被应用有关。

【问题讨论】:

    标签: .net vb.net postback radiobuttonlist selectedvalue


    【解决方案1】:

    听起来您正在导致发生重定向。您不是偶然执行 Response.Redirect 以“返回”原始页面吗?这将导致您描述的功能。您将首先从“上一个”按钮获得 Postback 以离开页面,然后在页面重新加载时获得新的请求 (IsPostback = false)。

    【讨论】:

      【解决方案2】:

      我确实有一个我正在使用的 response.redirect,但我删除了它。我想我可以做一个彻底的检查,以确保我在任何地方都没有另一个。我也会试试 autoeventwireup 属性。

      【讨论】:

        【解决方案3】:

        好吧,在我开始之前,autoevenwriteup 属性似乎已经设置为 false。所以我不认为是这样。

        我没有看到任何其他重定向发生在任何地方...我想搜索仍在继续。

        【讨论】:

          【解决方案4】:

          您是否尝试在页面的预渲染阶段而不是 Page_Load 设置选定的值?

          【讨论】:

            【解决方案5】:

            尝试这样做

            yourRadioButonList.Items.FindByValue(YourSavedValue).Selected = true;
            

            【讨论】:

              【解决方案6】:

              我遇到了同样的问题,就像 Thunder3 提到的那样,我做了一个重定向回页面,并在 Page_Load 上调用了一个方法来设置 RadioButtonList 选择的值。但所选值未应用于 RadioButtonList。

              我通过调用 Page_Init 上的方法解决了这个问题。

              【讨论】:

                【解决方案7】:

                可能的原因之一,也是我最近遇到的一个原因是,radiobuttonlist 根据值而不是 ID 来区分项目,因此如果存在重复值,则会出现此问题。

                下面的链接提供了详细的解释。

                RadioButtonList selected item does not stick on postback

                【讨论】:

                  【解决方案8】:

                  尝试在页面中设置AutoEventWireup = False

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2015-12-25
                    • 2016-08-12
                    • 1970-01-01
                    • 2017-09-05
                    • 2020-03-18
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多