【问题标题】:VB.NET - How to prevent AutoPostback from clearing entered data from formsVB.NET - 如何防止 AutoPostback 从表单中清除输入的数据
【发布时间】:2011-07-06 20:05:14
【问题描述】:

背景:我有一个网络表单,可以根据所选的运营商将捆绑列表自动回发到列表框。当回发发生时,所有用户输入的数据都会被清除。

如何防止 AutoPostback 功能从表单中清除输入的数据?

这是应用程序的屏幕截图:

asp前端代码:

                    <asp:RequiredFieldValidator ID="CarrierValidator" runat="server" Text="*"
                        ErrorMessage="Select At Least 1 Carrier"  ControlToValidate="lbCarriers"
                        ValidationGroup = "ValidationGroup" ForeColor="Red" ></asp:RequiredFieldValidator>

        </td>
    </tr>
            <tr>
        <td class="style1">
            Bundles:<br />
            <font size="1">*Hold Ctrl Key Down to Select Multiple Bundles</font></td>
        <td bgcolor="#ffffff" class="style6">
            <asp:ListBox ID="bundles" SelectionMode="Multiple" runat="server" Height="86px" 
                Width="250px" Enabled="True" 
                ValidationGroup="ValidationGroup">
            </asp:ListBox>

vb.net 后面代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load, Me.Load, Me.Load
    Try

        If Not IsPostBack Then

            'testing lines

            If MCshort = "" Then
                arryCarriers = proxy.GetCarrierNames(My.Settings.UserID, My.Settings.Password)
                arryMccompanies = proxy.GetMarketingCompanyNames(My.Settings.UserID, My.Settings.Password)
                GetMarketingCompanies()
                GetCarriers()

                'For Each item In arryCarriers
                '    If item.CarrierNameShort = "MOO" Or item.CarrierNameShort = "GBR" Then
                '        lbCarriers.Items.Add(String.Format("{0} | {1} | {2}", item.CarrierID, item.CarrierNameLong, item.CarrierNameShort))
                '    End If
                'Next

                For Each item In arryMccompanies
                    If item.MarketingCompanyShort = MCshort Then
                        MCNameLong = item.MarketingCompanyName.ToString

                    End If
                Next
            End If

            Dim splt() As String = User.Identity.Name.ToString.Split("\")
            MCshort = splt(0)
            ' mcShort = "AMG"
            txtMarketerName.Text = splt(1)

        Else

            Dim splt() As String = User.Identity.Name.ToString.Split("\")
            MCshort = splt(0)
            ' mcShort = "AMG"
            txtMarketerName.Text = splt(1)
            GetBundles()

        End If
    Catch ex As Exception
        WriteToEventLog(ex.Message, "Page_Load-Method", EventLogEntryType.Error, "aComp-utility")
    End Try

End Sub

感谢收看!

【问题讨论】:

    标签: vb.net webforms autopostback


    【解决方案1】:

    您是动态构建的控件吗?如果没有,只需启用视图状态。

    【讨论】:

    • 感谢您的回复!如何检查控件是否是动态构建的,是否有启用 wiewstate 的代码示例?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 2015-04-05
    相关资源
    最近更新 更多