0

私たちのウェブサイトで非常に奇妙な問題を調査しています。がありtextbox、 がありOnTextChanged eventます。イベントが発生すると、いくつかの追加テキストボックスが自動的に入力されます。このすべて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 に答える