C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.102022 の関連記事表示

<< 0 >>
■102022  例外スローについて
□投稿者/ 困っております。 -(2023/06/06(Tue) 12:30:08)

    分類:[ASP.NET (VB)] 

    よろしくお願いします。

    microsoft visual studio2005

    IEからedgeに変更中ですが、検索ボタンを押して
    データを画面に表示後、取り消し、登録、画面遷移ボタンを押した時、

    「System.Web.HttpUnhandledException: 種類 'System.Web.HttpUnhandledException' の例外がスローされました。 ---> System.Exception: 270.0000305175781 は Int32 の有効な値ではありません。 ---> System.FormatException: 入力文字列の形式が正しくありません。」

    のエラーが発生しています。(270.0000305175781の部分は都度かわっています。)

    データに問題ないと思われ、検索データが多い時(100件以上)は必ず起こっており、
    同じデータで検索データが少ない時はエラーが発生していない状態です。
    試しに取り消しボタンのクリック時の処理を全てコメント化しても同じ現象が発生しました。

    edge用に何か設定が必要なのでしょうか。
    よろしくお願いします。
親記事 /過去ログ178より / 関連記事表示
削除チェック/

■102023  Re[1]: 例外スローについて
□投稿者/ 魔界の仮面弁士 -(2023/06/06(Tue) 12:59:15)
    No102022 (困っております。 さん) に返信
    > データを画面に表示後、取り消し、登録、画面遷移ボタンを押した時、
    その処理で、どのようなコードが実行されていて、
    その中のどの行で問題が発生しているのかを
    例外オブジェクトの StackTrace 等から追跡できないでしょうか。


    > System.Exception: 270.0000305175781 は Int32 の有効な値ではありません。 ---> System.FormatException: 入力文字列の形式が正しくありません。」
    たとえば、
     x = CInt("270.0000305175781")
    は x = 270 として処理されますが、
     x = Convert.ToInt32("270.0000305175781")
     x = Integer.Parse("270.0000305175781")
    などの場合には、FormatException 例外が発生しますね。


    > 270.0000305175781の部分は都度かわっています。
    それはクライアント側から送出されてくる値なのでしょうか。
    それともサーバー側で生成・取得されている値なのでしょうか。

    Edge の開発者ツール(Ctrl + Shift + I) を起動して、[ネットワーク]タブで
    通信内容をトレースし、270.0000305175781 に相当する値が
    やり取りされていないかを確認してみてください。
記事No.102022 のレス /過去ログ178より / 関連記事表示
削除チェック/

■102024  Re[2]: 例外スローについて
□投稿者/ 魔界の仮面弁士 -(2023/06/06(Tue) 13:33:58)
    2023/06/06(Tue) 13:49:52 編集(投稿者)

    No102022 (困っております。 さん) に返信
    > microsoft visual studio2005
    .NET Framework 2.0 世代の開発環境ですよね。
    流石に、開発環境も含めて刷新すべきかと…。


    > IEからedgeに変更中ですが、検索ボタンを押して
    世代的に、HTML LS (HTML5) に準拠したページでは無さそうですね。

    Internet Explorer のドキュメント モードはどうなっていましたか?
    https://furoshiki.hatenadiary.jp/entry/ie_documentmode


    エラーメッセージで検索してみると、IE10 / IE11 において
    ImageButtonコントロールで、UpdatePanelの非同期ポストバックを発生させると
    System.Web.HttpUnhandledException ---> System.FormatException
    のエラーになる…といった事例がありました。
    (ドキュメント モードを IE9 以下に設定すると、仮回避できるらしい)

    https://social.msdn.microsoft.com/Forums/en-US/abc59878-8c1c-4707-afaa-6b0e4cb7085f/imagebuttons-not-working-in-ie10
    https://kiyokura.hateblo.jp/entry/20130128/p1
    http://tukaenai-pg.cocolog-nifty.com/blog/2013/03/aspnet-ie10-a41.html

    変動する 270.0000305175781 という値が、画像ボタンをクリックした
    xy 座標の値だと仮定すれば、この事象が当てはまりそうに思います。

    そしてこの事象は .NET Framework 2.0〜4.0 の ASP.NET では発生するものの
    .NET Framework 4.5 の ASP.NET だと発生しないようです。

    とはいえ、4.5 のサポートも終了していますので、
    Visual Studio を現行バージョンに入れ替えたうえで、
    .NET Framework 4.7.2 や .NET Framework 4.8 環境向けに
    ビルドしなおしてみることも検討してみてください。

    もしくは、ImageButton の代わりに Button を使うようにします。


    上記 URL(MSDN Forum)でやり取りされている回避策のようにすれば
    .NET Framework 2.0 + ImageButton のままでも動作させられるような
    回避コードを仕込めるかもしれませんが…流石に 2.0 環境は古すぎて
    Edge 対応のパッチを見つけるのは難しいかもしれません。
    (理解した上で、自前で書き下ろす必要があるかも)
記事No.102022 のレス /過去ログ178より / 関連記事表示
削除チェック/

■102025  Re[3]: 例外スローについて
□投稿者/ 困っております。 -(2023/06/06(Tue) 15:23:50)
    情報ありがとうございます。

    おっしゃる通り開発環境は、.NET Framework 2.0 になっています。
    改修期間が短い為、バージョンを上げずにEdge対応する事になっております。

    表を選択後、ボタンを押してはいますが、
    座標の計算はしていないのは確認しており、
    ボタンの種類はButtonになっています。


    web.configファイル内に
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <add name="X-UA-Compatible" value="IE=7" />
    <add name="X-Links" value="WEB3" />
    </customHeaders>
    </httpProtocol>
    <httpRedirect enabled="false" />
    </system.webServer>
    となっており、

    <add name="X-UA-Compatible" value="IE=7" />
    の部分がドキュメント モードを IE9 以下に設定でよろしいでしょうか。
    又、この状態で例外エラーが発生しておりますので、
    value="IE=7"では古いからなのでしょうか。

    よろしくお願いします。
記事No.102022 のレス /過去ログ178より / 関連記事表示
削除チェック/

■102028  Re[4]: 例外スローについて
□投稿者/ WebSurfer -(2023/06/06(Tue) 16:27:51)
    No102025 (困っております。 さん) に返信

    ClientTarget を利用すると ASP.NET によるブラウザの判定を自由に設定できます。
    詳しくは以下の記事を見てください。

    ClientTarget の利用
    http://surferonwww.info/BlogEngine/post/2014/06/14/settings-of-clienttarget-property.aspx

    Edge に対する ASP.NET 2.0, 3.0, 3.5 のブラウザ定義の問題が FormatException に
    影響しているのであれば、web.config で ClientTarget に IE9 の User-Agent を設定し、
    問題のページの @ Page ディレクティブの ClientTarget 属性でそれを指定することによ
    り、Edge でアクセスしても ASP.NET に IE9 とブラウザ判定させることにより問題を回避
    できるかもしれません。

記事No.102022 のレス /過去ログ178より / 関連記事表示
削除チェック/

■102029  Re[4]: 例外スローについて
□投稿者/ WebSurfer -(2023/06/08(Thu) 09:57:07)
    No102025 (困っております。 さん) に返信

    質問者さん、そのご無言ですが、回答者からレスがされているのでそれらに
    対するフィードバックを返してください。

    役に立った/立たなかった/それ以前にお前の言ってることは意味不明ぐらい
    のフィードバックならすぐに返せるのでは?

    もし、IE や Firefox で試して問題が回避できるなら、上の No102028 で私
    が書いた ClientTarget を試して結果を連絡してもらえるとありがたいです。
記事No.102022 のレス /過去ログ178より / 関連記事表示
削除チェック/

■102027  Re[3]: 例外スローについて
□投稿者/ WebSurfer -(2023/06/06(Tue) 15:49:53)
記事No.102022 のレス /過去ログ178より / 関連記事表示
削除チェック/

■102026  Re[4]: 例外スローについて
□投稿者/ 魔界の仮面弁士 -(2023/06/06(Tue) 15:44:31)
    2023/06/06(Tue) 15:56:26 編集(投稿者)

    No102025 (困っております。 さん) に返信
    > <add name="X-UA-Compatible" value="IE=7" />
    > の部分がドキュメント モードを IE9 以下に設定でよろしいでしょうか。

    はい。そして X-UA-Compatible は Internet Explorer でしか通用しません。

    また、IE であっても長らく非推奨とされてきた方法ですし、
    IE 以外のブラウザーではこのオプションが無視されます。


    まずは X-UA-Compatible 無しでも動作するよう、見直してみてください。
    その場合、CSS や JavaScript の解釈が変更されることになるため、
    単純移植というわけにはいかず、それなりに検証工数や開発工数が
    発生する可能性があります。
記事No.102022 のレス /過去ログ178より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -