「mydiv-clear」というマスター ページにポップアップとして機能する div があります。
div 'fade' 内にメイン ページのコンテンツがあります。
「return false;」を使用すると、Javascript OnClientClick で div (表示をなしからブロックに変更) を正常に「ポップアップ」できます。OnClientClick でポストバックを防止します (div は、ポストバックで display:none に戻ります)。
ポップアップ内の追加機能のために C# OnClick コントロールを実行したいと考えています。return=false; がある場合 私の OnClientClick では、C# の OnClick コードをヒットできません。return=false; を削除すると ページがポストバックされ、ディスプレイが display=none; に戻りました。オンラインのソリューションでは、ボタンを UpdatePanel コントロールに移動するか、UseSubmitBehaviour=false を使用することが提案されましたが、どちらもうまくいきませんでした。
以下の解決策は、コードをブレークスルーすると、JavaScript が起動され (ポップアップが表示され)、ポストバックが発生し (ポップアップが消える)、C# が起動します。誰かがポストバックを防ぎ、それでもC#を起動する方法を提案できますか? ありがとう
。ネット
<asp:Button ID="btnOptOut" OnClientClick="div_show();" UseSubmitBehavior="false" OnClick="btnOptOut_Click" CssClass="btn btn-default" runat="server" Text="Opt Out" />
C#
protected void btnOptOut_Click(object sender, EventArgs e)
{
try
{
_dal.createOptOutRecord(_myuser.id, _myuser.EmailAddress);
//More functionality to go here
}
catch(Exception ex)
{
}
}
Javascript
function div_show() {
document.getElementById('mydiv-clear').style.display = "block";
document.getElementById('fade').style.opacity = ".1";
}