私は非常に奇妙な問題に直面しています。私は多くのことを試しましたが、解決できませんでした。これがシナリオです。
私はGridView
40件のレコードを持っています。OnRowDataBound
のイベントにスクリプトを登録していますGridView
。を使って登録しScriptManager.RegisterStartupScript
ました。GridView
の中にあり、UpdatePanel
1UpdatePanel
分後に更新されます。
初めてページがロードされたとき、私のスクリプトは正常に動作します。しかし、部分ポストバックの後、Firefox で動作しなくなります。Chrome、IE、Safari、Opera で動作しています。問題を引き起こしているのは Firefox だけです。
インターネットで利用できる多くのソリューションを試しましたが、何もうまくいきませんでした。また、ページが部分的に読み込まれると、スクリプトは既に登録されているため、再度登録しません。Firefox の場合、部分的なポストバックでもスクリプトを登録してみましたが、うまくいきませんでした。これは私が登録している方法です:
ScriptManager scriptManager = ScriptManager.GetCurrent(this);
if (scriptManager != null && !scriptManager.IsInAsyncPostBack)
{
ScriptManager.RegisterStartupScript(this.UpdatePanel5, this.UpdatePanel5.GetType(), e.Row.RowIndex.ToString(), "<script language='javascript' type='text/javascript'>alert('Error Message');</script>", false);
//
}
RegisterStartupScript の最後の引数を True に変更し、script タグを削除してみました。