【问题标题】:Values Entered in a textbox or radio button list changes after firing an event clear when the event posts back?触发事件后,在文本框或单选按钮列表中输入的值会在事件回发时清除吗?
【发布时间】:2012-09-05 16:38:03
【问题描述】:

在 ASP.net 中,我有一个简单的文本框和单选按钮列表,其中包含是或否选项。在 VB 服务器端,我实现了单选按钮的 OnClick,它会做一些事情。

<asp:RadioButtonList ID="rbltest" runat="server" AutoPostBack="true"      OnSelectedIndexChange="rbltest_SelectedIndexChanged"                                                                      <asp:ListItem Text="Yes" Value="0"></asp:ListItem>
<asp:ListItem Selected="True" Text="No" Value="1"></asp:ListItem>
</asp:RadioButtonList>

唯一的问题是,如果我单击单选按钮,然后将数据输入到 TextBox(立即 - 在不到 2 秒的时间内),当单选按钮返回时,它会删除数据。这很烦人。周围有吗?

【问题讨论】:

    标签: asp.net vb.net input postback


    【解决方案1】:

    解决此问题的唯一方法是删除 RadioButtonList 控件上的 AutoPostBack=true。自动回发选项会立即启动一个 HTTP 回发到服务器,因此在此之后输入的任何内容都将丢失。

    其他选项:

    • 实现客户端onclick 处理程序,并在回发过程中禁用文本(即,让用户清楚他们不能输入任何内容,也就是@ 987654321@)。
    • 使用 Javascript 在客户端完全实现更改逻辑
    • 使用 ASP.Net AJAX UpdatePanel 异步回发(这不需要完整回发到服务器,因此您可以继续输入)。

    【讨论】:

      【解决方案2】:

      你必须在你的控件上删除EnableViewState="false"丢失数据的人,并让控件上的ViewState的默认值(true)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多