2016-06-23 19 views
2

私は基本的にユーザーの選択に基づいて製品のイメージを表示し、それに応じて外部サイトへのリンクを設定するasp.netイメージボタンを持っています。 IEで画像ボタンをクリックするとサイトがクラッシュしますが、Chromeでは正常に動作しているようです。例として:ASP.NET ImageButtonリンクがサイトを壊す

if (TotalWattage > 1 && TotalWattage < 275) //depending on wattage calculation, shows PSU recommendation 
    { 
     imgbtnPSURecommend.ImageUrl = "~/Images/PSU Tool Images/CM-300.jpg"; 
     lblPSURecommend.Text = "300w COOLMAX CM-300"; 
     imgbtnPSURecommend.PostBackUrl = "http://www.newegg.com"; 
    } 

私はサイトを起動し、画像をクリックすると、それが戻ってのVisual Studioにクラッシュと言い、「32行のJavaScriptの重大なエラーを、コラム17」エラーがちょうど言う:私が代わりにwww.google.comにURLを変更した場合

function onclick(event) 
{ 
javascript:void() 
} 

、とGoogleのロード「あなたのクライアントが大きすぎたリクエストを発行したことは、私たちが知っているすべてのです。」なぜこれが起こっているのか誰にも分かりますか?私は、通常のLinkBut​​tonコントロールを作成し、Response.Redirect( "http://www.newegg.com")にOnClickイベントを設定する場合は正常に動作します。

+0

あなたは提案のために、この Sami

答えて

0

PostBackUrlを使用しないでください。ImageButtonまたはLinkButtonの代わりに画像を使用してください。

0

あなたが投稿したコードはではありません。からNeweggへのリンクを送信しています。代わりに、クロスサイトスクリプティング to Neweggです。言い換えれば

は、あなたの代わりにHTTPGETHttpPostを行っています。私はNeweggがあなたのサイトにあなたをさせるとは思わない。

他のサイトへのリンクが必要な場合は、単にHyperLinkを使用できます。

<asp:HyperLink runat="server" ID="MyHyperLink" ></asp:HyperLink> 

if (TotalWattage > 1 && TotalWattage < 275) 
{ 
    MyHyperLink.ImageUrl = "~/Images/PSU Tool Images/CM-300.jpg"; 
    MyHyperLink.Text = "300w COOLMAX CM-300"; 
    MyHyperLink.NavigateUrl = "http://www.newegg.com"; 
} 
+0

[OK]を感謝のように使用することができます。興味深いことに、私はそれを正確に行い、それは同じように壊れました。 [私はこの過去の記事を見つけました](http://stackoverflow.com/questions/23155927/javascript-critical-error-at-line-5-column-9-in-unknown-source-location)、IEを-extoffに設定します私はIEのアドオンを無効にするとアドオンとそれ(あなたの方法)はうまく動作します。 – Aeternus

0

すべての答えは、これまでいくつかの実装で、これには欠点があることができ、新しい項目を追加したり、使用しているアイテムの種類を変更するには、あなたのマークアップコードを変更する必要が。ユーザーを知っている場合にはjavascriptがあなたの目的のページにユーザーをリダイレクトするために、「window.location.href」を使用することができます有効になっています

if (TotalWattage > 1 && TotalWattage < 275) //depending on wattage calculation, shows PSU recommendation 
    { 
     imgbtnPSURecommend.ImageUrl = "~/Images/PSU Tool Images/CM-300.jpg"; 
     lblPSURecommend.Text = "300w COOLMAX CM-300"; 
     imgbtnPSURecommend.OnClientClick = "window.location.href = 'http://www.newegg.com'; return false;" 
    } 
関連する問題