ポストバックに使用するボタンがASP.Netにあるusercontrolがあります。このボタンには、イベントを処理する前に実行されるいくつかのJavascript検証もあります。ASP.Net Javascriptのバリデーションを実行するとPostURLが機能しません
今日私は、ボタンのPostBackURLプロパティを設定して別のURLにポストバックしようとしました。しかし、それはうまくいかず、ページはそれ自体にポストバックし続けました。だから私は何らかの調査をして、それを見つけました。
- 別のURLへのポストバックは、ASP.NetのJavascriptで実装されています。
私は私の検証機能に
OnClientClick =「リターン・検証()」 呼び出しを続ける場合は、ポストバックが発生しません。
- 検証関数の呼び出しを削除すると、ポストバックが正常に機能します。
これは、ボタンのマークアップが[検証]で表示される方法です。あなたは「リターン検証()」の呼び出しが欠落している、そしてそれはすべての違いを作っていることに気づくでしょう検証
<input type="submit" name="ctl00$cphMain$pra1$btnSubmit" value="Submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cphMain$pra1$btnSubmit", "", false, "", "Result.aspx", false, false))" id="ctl00_cphMain_pra1_btnSubmit" style="width:80px;" />
なし
<input type="submit" name="ctl00$cphMain$pra1$btnSubmit" value="Submit" onclick="return validate();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cphMain$pra1$btnSubmit", "", false, "", "Result.aspx", false, false))" id="ctl00_cphMain_pra1_btnSubmit" style="width:80px;" />
。
これを動作させるにはどうすればよいですか?
で
を交換してください。どのように使用されているかについての仮定に依存していないので、ハックは少し少なくなります。 – tvanfosson
右ソリューションに感謝します。 –