このシナリオがあります。これはフロントエンドのasp:buttonコンポーネントです。OnClientClickからtrueを返すとOnClickコードビハインドメソッドを実行します。javascript関数
<asp:Button ID="btnNewsAdd" runat="server" Text="Edit current news item" OnClientClick="return Confirm();" OnClick="btnNewsAdd_Click" UseSubmitBehavior="false"/>
これは、Javascriptのです:「btnNewsAdd」ボタンをクリックする必要があり
<script type="text/javascript">
function Confirm() {
var result = window.confirm('Are you sure?');
if (result == true)
return true;
else
return false;
}
</script>
ユーザー、Javascriptが解雇されるべきで、yesまたはnoオプションを使用して、ダイアログボックスがポップアップ表示されます。 yesをクリックするとtrueが返され、noがfalseを返します。 trueが返された場合、バックエンドのASP.Netメソッド:btnNewsAdd_Clickが発生するはずです。それは15分前まで働いていた。デバッグ時に、JSは私が自分で作成したものではないtrue lineとheadsinto javascriptファイルを返します。ただし、バックエンドメソッドは起動しません。
「ソース」セクションで、HTMLが以下に変換されていることに気付きました。表示されるように、OnClickとOnClientClickは自動的にOnClickにマージされます。これは自動であったので、それが問題なのかその一部なのか分かりません。
<input type="button" name="ctl00$MainContent$btnNewsAdd" value="Edit current news item" onclick="return Confirm();__doPostBack('ctl00$MainContent$btnNewsAdd','')" id="MainContent_btnNewsAdd" />
私は文字通りそれを回避しようと一日を費やしました。ある時点でそれは機能していて、何も変更せずに作業を停止しました。任意の提案が高く評価されました。
答えが見つかります。https://stackoverflow.com/questions/14058116/confirm-postback-onclientclick-button-asp-net – Rex
ありがとうございました。私は解決策で回答を掲示します。 –