0

間違ったパスワードまたはユーザー名のエラーを示すダイアログ ボックスを作成しましたが、これは閉じません。ページを更新せずにこのダイアログボックスを閉じる方法、コードは次のようになります

            <asp:Panel ID="errorMsg" runat="server" Visible="false">
                <asp:Label ID="msg" Text="" runat="server"></asp:Label>
                <asp:Label ID="errorHead" Text="Something is really Wrong :" runat="server"></asp:Label>
                                    <asp:button ID="try" OnClick="try_Click" runat="server" Text="Try Again" />

            </asp:Panel>

コードビハインド:

    protected void try_Click(object sender, EventArgs e)
    {
        errorMsg.Visible = false;
    }

errorMsg.visible は、間違った入力が行われたときに true に設定されますが、再度 false にすると閉じません。

4

1 に答える 1

0

OnClickイベントは、ページを更新する PostBack を発生させます。

JavaScript を使用してみてください:

<script text="text/javascript">
   function hide(id){
     if(id)
       document.getElementById(id).style.display = "none";
   }
</script>

<asp:Button ID="try" OnClientClick='hide("<%=errorMsg.ClientId%>")'
     runat="server" Text="Try Again" />

または、単にダイアログ ボックスをUpdate Panelでラップすることもできます。更新パネルでは、Web サイトの一部のみを更新できます。

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <ContentTemplate>
    <asp:Panel ID="errorMsg" runat="server" Visible="false">
      ...
      <asp:Button ID="try" OnClick="try_Click" 
           runat="server" Text="Try Again" />
    </asp:Panel>
  </ContentTemplate>
</asp:UpdatePanel>
于 2013-08-01T16:49:04.960 に答える