none
acessar componente RRS feed

  • Pergunta

  • Uso VS2010 aspnet4

    Como acesso do lado servidor um componente que está dentro de um <QuestionTemplate> em uma pagina ASPX

    ex:

                               

     <QuestionTemplate>

                            <asp:Image ID="imgCaptcha" runat="server" />

    </QuestionTemplate>

    quero chamar assim:

    imgCaptcha.ImageUrl = "Captcha.aspx";

    mas o imgCaptcha não é reconhecido no lado servidor


    Álvaro Luiz

    terça-feira, 5 de novembro de 2013 19:11

Respostas

  • Testa ae

    var imagem = PasswordRecovery1.QuestionTemplateContainer.FindControl("imgCaptcha") as Image;

    image.ImageUrl = "captcha.aspx";


    Leonardo Lourenço Silva



    terça-feira, 5 de novembro de 2013 19:21
  • Olá Lourenço, fiz como voce solicitou mas não funcionou deu erro no PasswordRecovery1, veja a imagem:


    Álvaro Luiz

    Cara como esse método é ESTÁTICO você NÃO vai conseguir acessar nenhum controle da página...

    Seu método precisa ser mesmo estático ?

    Qual o motivo?


    Leonardo Lourenço Silva


    • Marcado como Resposta Álvaro Luiz quarta-feira, 6 de novembro de 2013 12:06
    terça-feira, 5 de novembro de 2013 20:02
  • Eu to achando que como é virou Template não é mais fácil colocar isso no código ASPX?

    Tipo

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
        &nbsp;<asp:PasswordRecovery ID="PasswordRecovery1" runat="server" Style="text-align: left"
            SuccessText="A senha foi enviada para seu e-mail cadastrado no sistema." Width="500px">
            <UserNameTemplate>
                <h2>
                    Esqueceu a Senha?</h2>
                <table>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Digite seu Nome de Usuário
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Nome de Usuário:</asp:Label>
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="UserName" runat="server" Height="21px" MaxLength="20" Width="180px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
                                ErrorMessage="O Usuário é obrigatório." ToolTip="O Usuário é obrigatório." ValidationGroup="PasswordRecovery1"
                                ForeColor="#FF6600">O Usuário é obrigatório.</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px; color: Red;">
                            <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Button ID="SubmitButton" runat="server" class="btnVerde90" OnClientClick="CriaCodigo()"
                                CommandName="Submit" Text="Ok" ValidationGroup="PasswordRecovery1" />
                        </td>
                    </tr>
                </table>
            </UserNameTemplate>
            <QuestionTemplate>
                <h2>
                    Confirmação de Identidade</h2>
                <table>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Responda a pergunta a seguir:
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Nome do Usuário:
                        </td>
                        <td class="style2">
                            <asp:Literal ID="UserName" runat="server"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Pergunta:
                        </td>
                        <td class="style2">
                            <asp:Literal ID="Question" runat="server"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Resposta:</asp:Label>
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="Answer" runat="server" Height="21px" Width="180px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer"
                                ErrorMessage="A Resposta é obrigatória." ToolTip="A Resposta é obrigatória."
                                ForeColor="#FF6600" ValidationGroup="PasswordRecovery1">A Resposta é obrigatória.</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            &nbsp;
                        </td>
                        <td class="style2">
                            <asp:Image ID="imgCaptcha" runat="server" ImageUrl="Captcha.aspx" />
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Digite os Números:
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="txtCaptcha" runat="server" Height="21px" Width="180px"></asp:TextBox>
                            <asp:Literal ID="litMessage" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px; color: Red;">
                            <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Button ID="SubmitButton" runat="server" OnClientClick="return confereCaptcha();"
                                CommandName="Submit" Text="Enviar" ValidationGroup="PasswordRecovery1" class="btnVerde90" />
                        </td>
                    </tr>
                </table>
            </QuestionTemplate>
            <SuccessTemplate>
                <h2>
                    Operação realizada com sucesso!</h2>
                <table>
                    <tr>
                        <td class="style3" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            A Senha foi enviada para seu E-mail cadastrado no sistema.
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Account/Login.aspx">Voltar para tela de Login</asp:HyperLink>
                        </td>
                    </tr>
                </table>
            </SuccessTemplate>
        </asp:PasswordRecovery>
    </asp:Content>
    No próprio componente que ta template colocar ImageUrl="Captcha.aspx"


    Fúlvio Cezar Canducci Dias

    terça-feira, 5 de novembro de 2013 20:18
  • É estático porque preciso chamá-lo a partir de um código javascript! Ou tem outro jeito?

    Álvaro Luiz

    Só uma questão coloque diretamente no código da página já que o mesmo agora é um template!!!?

    Fúlvio Cezar Canducci Dias

    • Marcado como Resposta Álvaro Luiz quarta-feira, 6 de novembro de 2013 12:06
    quarta-feira, 6 de novembro de 2013 01:31

Todas as Respostas

  • Coloque pra mim toda a Tag que está fora do QuestionTemplate!


    Fúlvio Cezar Canducci Dias

    terça-feira, 5 de novembro de 2013 19:20
  • Testa ae

    var imagem = PasswordRecovery1.QuestionTemplateContainer.FindControl("imgCaptcha") as Image;

    image.ImageUrl = "captcha.aspx";


    Leonardo Lourenço Silva



    terça-feira, 5 de novembro de 2013 19:21
  • Ta ai a TAG completa

    -------------------------

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
        &nbsp;<asp:PasswordRecovery ID="PasswordRecovery1" runat="server" Style="text-align: left"
            SuccessText="A senha foi enviada para seu e-mail cadastrado no sistema." Width="500px">
            <UserNameTemplate>
                <h2>
                    Esqueceu a Senha?</h2>
                <table>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Digite seu Nome de Usuário
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Nome de Usuário:</asp:Label>
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="UserName" runat="server" Height="21px" MaxLength="20" Width="180px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
                                ErrorMessage="O Usuário é obrigatório." ToolTip="O Usuário é obrigatório." ValidationGroup="PasswordRecovery1"
                                ForeColor="#FF6600">O Usuário é obrigatório.</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px; color: Red;">
                            <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Button ID="SubmitButton" runat="server" class="btnVerde90" OnClientClick="CriaCodigo()"
                                CommandName="Submit" Text="Ok" ValidationGroup="PasswordRecovery1" />
                        </td>
                    </tr>
                </table>
            </UserNameTemplate>
            <QuestionTemplate>
                <h2>
                    Confirmação de Identidade</h2>
                <table>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Responda a pergunta a seguir:
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Nome do Usuário:
                        </td>
                        <td class="style2">
                            <asp:Literal ID="UserName" runat="server"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Pergunta:
                        </td>
                        <td class="style2">
                            <asp:Literal ID="Question" runat="server"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Resposta:</asp:Label>
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="Answer" runat="server" Height="21px" Width="180px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer"
                                ErrorMessage="A Resposta é obrigatória." ToolTip="A Resposta é obrigatória."
                                ForeColor="#FF6600" ValidationGroup="PasswordRecovery1">A Resposta é obrigatória.</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            &nbsp;
                        </td>
                        <td class="style2">
                            <asp:Image ID="imgCaptcha" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Digite os Números:
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="txtCaptcha" runat="server" Height="21px" Width="180px"></asp:TextBox>
                            <asp:Literal ID="litMessage" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px; color: Red;">
                            <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Button ID="SubmitButton" runat="server" OnClientClick="return confereCaptcha();"
                                CommandName="Submit" Text="Enviar" ValidationGroup="PasswordRecovery1" class="btnVerde90" />
                        </td>
                    </tr>
                </table>
            </QuestionTemplate>
            <SuccessTemplate>
                <h2>
                    Operação realizada com sucesso!</h2>
                <table>
                    <tr>
                        <td class="style3" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            A Senha foi enviada para seu E-mail cadastrado no sistema.
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Account/Login.aspx">Voltar para tela de Login</asp:HyperLink>
                        </td>
                    </tr>
                </table>
            </SuccessTemplate>
        </asp:PasswordRecovery>
    </asp:Content>


    Álvaro Luiz

    terça-feira, 5 de novembro de 2013 19:52
  • Olá Lourenço, fiz como voce solicitou mas não funcionou deu erro no PasswordRecovery1, veja a imagem:


    Álvaro Luiz

    terça-feira, 5 de novembro de 2013 19:56
  • Olá Lourenço, fiz como voce solicitou mas não funcionou deu erro no PasswordRecovery1, veja a imagem:


    Álvaro Luiz

    Cara como esse método é ESTÁTICO você NÃO vai conseguir acessar nenhum controle da página...

    Seu método precisa ser mesmo estático ?

    Qual o motivo?


    Leonardo Lourenço Silva


    • Marcado como Resposta Álvaro Luiz quarta-feira, 6 de novembro de 2013 12:06
    terça-feira, 5 de novembro de 2013 20:02
  • Eu to achando que como é virou Template não é mais fácil colocar isso no código ASPX?

    Tipo

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
        &nbsp;<asp:PasswordRecovery ID="PasswordRecovery1" runat="server" Style="text-align: left"
            SuccessText="A senha foi enviada para seu e-mail cadastrado no sistema." Width="500px">
            <UserNameTemplate>
                <h2>
                    Esqueceu a Senha?</h2>
                <table>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Digite seu Nome de Usuário
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Nome de Usuário:</asp:Label>
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="UserName" runat="server" Height="21px" MaxLength="20" Width="180px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
                                ErrorMessage="O Usuário é obrigatório." ToolTip="O Usuário é obrigatório." ValidationGroup="PasswordRecovery1"
                                ForeColor="#FF6600">O Usuário é obrigatório.</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px; color: Red;">
                            <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Button ID="SubmitButton" runat="server" class="btnVerde90" OnClientClick="CriaCodigo()"
                                CommandName="Submit" Text="Ok" ValidationGroup="PasswordRecovery1" />
                        </td>
                    </tr>
                </table>
            </UserNameTemplate>
            <QuestionTemplate>
                <h2>
                    Confirmação de Identidade</h2>
                <table>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Responda a pergunta a seguir:
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Nome do Usuário:
                        </td>
                        <td class="style2">
                            <asp:Literal ID="UserName" runat="server"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Pergunta:
                        </td>
                        <td class="style2">
                            <asp:Literal ID="Question" runat="server"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Resposta:</asp:Label>
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="Answer" runat="server" Height="21px" Width="180px"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer"
                                ErrorMessage="A Resposta é obrigatória." ToolTip="A Resposta é obrigatória."
                                ForeColor="#FF6600" ValidationGroup="PasswordRecovery1">A Resposta é obrigatória.</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            &nbsp;
                        </td>
                        <td class="style2">
                            <asp:Image ID="imgCaptcha" runat="server" ImageUrl="Captcha.aspx" />
                        </td>
                    </tr>
                    <tr>
                        <td class="style1" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            Digite os Números:
                        </td>
                        <td class="style2">
                            <asp:TextBox ID="txtCaptcha" runat="server" Height="21px" Width="180px"></asp:TextBox>
                            <asp:Literal ID="litMessage" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px; color: Red;">
                            <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2" colspan="2" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:Button ID="SubmitButton" runat="server" OnClientClick="return confereCaptcha();"
                                CommandName="Submit" Text="Enviar" ValidationGroup="PasswordRecovery1" class="btnVerde90" />
                        </td>
                    </tr>
                </table>
            </QuestionTemplate>
            <SuccessTemplate>
                <h2>
                    Operação realizada com sucesso!</h2>
                <table>
                    <tr>
                        <td class="style3" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            A Senha foi enviada para seu E-mail cadastrado no sistema.
                        </td>
                    </tr>
                    <tr>
                        <td class="style3" style="text-align: left; text-align: left; padding-top: 10px;
                            padding-bottom: 10px;">
                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Account/Login.aspx">Voltar para tela de Login</asp:HyperLink>
                        </td>
                    </tr>
                </table>
            </SuccessTemplate>
        </asp:PasswordRecovery>
    </asp:Content>
    No próprio componente que ta template colocar ImageUrl="Captcha.aspx"


    Fúlvio Cezar Canducci Dias

    terça-feira, 5 de novembro de 2013 20:18
  • É estático porque preciso chamá-lo a partir de um código javascript! Ou tem outro jeito?

    Álvaro Luiz

    terça-feira, 5 de novembro de 2013 22:16
  • É estático porque preciso chamá-lo a partir de um código javascript! Ou tem outro jeito?

    Álvaro Luiz

    Só uma questão coloque diretamente no código da página já que o mesmo agora é um template!!!?

    Fúlvio Cezar Canducci Dias

    • Marcado como Resposta Álvaro Luiz quarta-feira, 6 de novembro de 2013 12:06
    quarta-feira, 6 de novembro de 2013 01:31