0

我已经对我遇到的这个错误进行了一些研究,但没有运气。我正在使用一个 asp.panel,里面有几个控件。如果满足某些条件,面板将可见或不可见。如果它是可见的,我会有一些文本框和一个按钮。当我单击按钮时,我收到此错误:“无法选择禁用或不可选择的菜单项。”

这是aspx代码:

<asp:Panel ID="pnlTrocaSenha" runat="server" Visible="false">


       <asp:Label ID="Label3" runat="server" Font-Size="XX-Small">Este é o seu primeiro 
acesso ao sistema. Favor cadastrar sua senha:</asp:Label>
        <br />
        <asp:TextBox ID="txtSenha" runat="server" TextMode="Password"></asp:TextBox>
        <asp:RequiredFieldValidator ID="rfvSenha" runat="server" ControlToValidate="txtSenha"
            Display="Dynamic" ErrorMessage="Senha Requerida">Senha Requerida</asp:RequiredFieldValidator>
        &nbsp; &nbsp;<br />
        <asp:Label ID="Label4" runat="server" Font-Size="XX-Small">Confirme a senha</asp:Label>
        <br />
        <asp:TextBox ID="txtConfirma" runat="server" TextMode="Password"></asp:TextBox>
        <asp:CompareValidator ID="cvSenha" runat="server" ControlToCompare="txtSenha" ControlToValidate="txtConfirma"
            Display="Dynamic" ErrorMessage="*">Senha não bate com a confirmação</asp:CompareValidator>
        <asp:RequiredFieldValidator ID="rfvConfirma" runat="server" ControlToValidate="txtConfirma"
            Display="Dynamic" ErrorMessage="Confirmação Requerida"></asp:RequiredFieldValidator>
        <br />
        <br />
        <asp:Button ID="btnTrocar" runat="server" Text="Confirmar" CssClass="btnPadrao" OnClick="btnTrocar_Click" /><br />
        <asp:Label ID="lblMsg" runat="server" Text=""></asp:Label>
    </asp:Panel>

protected void Page_Load(object sender, EventArgs e)
        {
            Session["estado"] = null;
            if(Request.QueryString["acao"] != "sair")
                base.Page_Load(sender, e);

            if (!Page.IsPostBack)
            {
                if (Request.QueryString["acao"] == "sair")
                {
                    Sair();
                }

                var usuario = (CUsuario) Session["usuario"];
                if (!usuario.getSenhaAlterada())
                {
                    pnlTrocaSenha.Visible = true;
                }
                else
                {
                    pnlTrocaSenha.Visible = false;
                }
            }
        }

protected void btnTrocar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                if (!Util.ValidarSenhaForte(txtSenha.Text))
                {
                    lblMsg.Text = "A senha precisa ter no minimo 8 caracteres e conter numeros e letras";
                    return;
                }
                string senhaCriptografada = FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtSenha.Text, "MD5");
                var usuario = (CUsuario) Session["usuario"];
                DBAccess dao = new DBAccess();
                usuario.setSenha(senhaCriptografada);
                usuario.setSenhaAlterada(true);
                dao.AtualizarUsuario(usuario, Session["idUsuario"].ToString(), (CUsuario)Session["usuario"]);
                pnlTrocaSenha.Visible = false;
            }
        }

我认为只有在使用 asp.menu 时才会出现此错误....在此先感谢。

4

0 回答 0