0

我正在调查我们网站的一个非常奇怪的问题。我们有一个textbox,它有一个OnTextChanged event。当事件被触发时,我们会自动填充一些 add'l 文本框。这一切works fine in Firefox, Chrome, and Safari。然而,IE9 有一个问题。 In IE9,当事件被触发时,页面似乎正在回发,但是在回发之后,ALL fields are blanked out. 例如,如果我先输入 5 个其他字段,然后使用 ontextchanged 事件将数据输入到文本框中,当我退出此文本框时,所有 6 个文本框值都将被清空。

这是我的代码:

<asp:TextBox runat="server" ID="txtDAWAgencyName" Width="340px" OnTextChanged="DawLookup" MaxLength="255"></asp:TextBox>

protected void DAWLookup(object sender, EventArgs e)
{
    if (Validation.ValidDAW(txtDAW.Text))
    {
        Agency a = Agency.FetchByDAW(Convert.ToInt32(txtDAW.Text));

        if (a != null)
        {
            txtDAWAgencyName.Text = a.agencyName;

            if (!string.IsNullOrEmpty(a.primaryContactId.ToString()))
            {
                MembershipUser mu = Membership.GetUser(a.primaryContactId);
                if (mu != null)
                {
                    GenericProfile gp = GenericProfile.FetchByUserId(a.primaryContactId);
                    if (gp != null)
                    {
                        txtDAWAgencyRep.Text = gp.contactName;
                        txtAgencyRepPhone.Text = gp.contactPhone;
                        txtAgencyRepEmail.Text = mu.UserName;
                    }
                }
            }

        }
    }
}

以下是有关该问题的一些详细信息:

  • 在 Chrome、Firefox 和 Safari 中成功运行。
  • 仅在本地开发中在 Internet Explorer 中成功运行
  • 在服务器上的 Internet Explorer 中不起作用。
  • 没有发生双重自动回发(only one postback)

这是最奇怪的事情。它在all browsers EXCEPT internet explorer 9服务器上工作(在本地开发环境中工作)。知道可能出了什么问题吗?

4

1 回答 1

1

检查页面上的视图状态,启用它。

如果您想避免回发,也可以尝试做 Ajax 发布。

我会推荐一个 UpdatePanel 或一个 jQuery Postback。

于 2012-10-26T08:38:16.073 回答