fibalous 0 Denunciar mensagem Publicado 17 de Fevereiro de 2010 Boas O caso é o seguinte, gostava de ao criar um user poder atribuir um role, de momento ele atribui um role "default" depois tenho que ir às BD's e alterar o role ID do user. Alguém sabe como posso fazer para atribuir diferentes roles ao criar um login? Já experimentei usar uma droplist com os roles e depois no code behind (c#) fazer if's para comparar o valor da drop com os roles e atribuir o role respectivo mas dá erro não consigo incluir essa comparação no code behind porque diz que a droplist não existe nesse contexto... <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <h1 class="pagetitle">Criar Login</h1> <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" CompleteSuccessText="Utilizador criado com sucesso" ConfirmPasswordCompareErrorMessage="A Password e a confirmação devem ser iguais" ConfirmPasswordLabelText="Confirmar Password:" ConfirmPasswordRequiredErrorMessage="Confirmação da Password obrigatória" ContinueButtonText="Continuar" CreateUserButtonText="Criar Utilizador" DuplicateEmailErrorMessage="Por favor introduza um endereço de e-mail diferente" DuplicateUserNameErrorMessage="Por favor introduza um nome de utilizador diferente" EmailRegularExpressionErrorMessage="E-mail inválido" EmailRequiredErrorMessage="E-mail obrigatório" InvalidPasswordErrorMessage="Minimo de caracteres para a password: {1}." PasswordRegularExpressionErrorMessage="Por favori introduza uma password diferente" PasswordRequiredErrorMessage="Password obrigatória" UnknownErrorMessage="O utilizador não foi criado. Por favor tente de novo" UserNameLabelText="Nome de utilizador" UserNameRequiredErrorMessage="Nome de utilizador é obrigatório" Height="443px" Width="500px" ContinueDestinationPageUrl="~/Default.aspx" LoginCreatedUser="False" oncreateduser="CreateUserWizard1_CreatedUser"> <WizardSteps> <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server" > <ContentTemplate> <table border="0" style="font-size:100%;height:443px;width:431px;"> <tr> <td align="right"> <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Nome de utilizador</asp:Label> </td> <td> <asp:TextBox ID="UserName" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="Nome de utilizador é obrigatório" ToolTip="Nome de utilizador é obrigatório" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="right"> <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label> </td> <td> <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox> <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="Password obrigatória" ToolTip="Password obrigatória" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="right"> <asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">Confirmar Password:</asp:Label> </td> <td> <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox> <asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" ControlToValidate="ConfirmPassword" ErrorMessage="Confirmação da Password obrigatória" ToolTip="Confirmação da Password obrigatória" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="right"> <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-mail:</asp:Label> </td> <td> <asp:TextBox ID="Email" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email" ErrorMessage="E-mail obrigatório" ToolTip="E-mail obrigatório" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td align="center" colspan="2"> <asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword" Display="Dynamic" ErrorMessage="A Password e a confirmação devem ser iguais" ValidationGroup="CreateUserWizard1"></asp:CompareValidator> <asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal> </td> </tr> </table> </ContentTemplate> </asp:CreateUserWizardStep> <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server" > <ContentTemplate> <table border="0" style="font-size:100%;height:443px;width:512px;"> <tr> <td align="center" colspan="2"> Complete</td> </tr> <tr> <td> Utilizador criado com sucesso</td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="ContinueButton" runat="server" CausesValidation="False" CommandName="Continue" Text="Continuar" ValidationGroup="CreateUserWizard1" /> </td> </tr> </table> </ContentTemplate> </asp:CompleteWizardStep> </WizardSteps> </asp:CreateUserWizard> </asp:Content> public partial class rh_CriarLogin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) { Roles.AddUserToRole(CreateUserWizard1.UserName, "operador"); Server.Transfer("~/success.aspx", true); } } Agradeço desde já as respostas Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
fibalous 0 Denunciar mensagem Publicado 17 de Fevereiro de 2010 Aqui vai a minha tentativa: 1. <td align="right"> 2. <asp:Label ID="Role" runat="server" AssociatedControlID="Role">Role:</asp:Label> 3. </td> 4. <td> 5. <asp:DropDownList ID="RolesDropDown" runat="server" 6. DataSourceID="SqlDataSource1" DataTextField="RoleName" 7. DataValueField="RoleName" Width="130px"> 8. </asp:DropDownList> 9. <asp:SqlDataSource ID="SqlDataSource1" runat="server" 10. ConnectionString="<%$ ConnectionStrings:INTRANETConnectionString %>" 11. SelectCommand="SELECT [RoleName] FROM [vw_aspnet_Roles]"> 12. </asp:SqlDataSource> 13. </td> 1. protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) 2. { 3. Roles.AddUserToRole(CreateUserWizard1.UserName, RolesDropDown.SelectedValue); 4. Server.Transfer("~/success.aspx", true); 5. } dá o seguinte erro: Error 1 The name 'RolesDropDown' does not exist in the current context Alguém sabe o que está mal? Obrigado Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
fibalous 0 Denunciar mensagem Publicado 17 de Fevereiro de 2010 já está a funcionar é só indicar a localização da dropdownlist: protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) { DropDownList roledddl = ((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("RolesDropDown")); Roles.AddUserToRole(CreateUserWizard1.UserName, roledddl.SelectedValue); Server.Transfer("~/success.aspx", true); } Espero que seja útil para alguém Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites