DropDownList 的 GetUsersInRole 数据源

发布于 2024-10-04 03:14:45 字数 545 浏览 3 评论 0原文

您好,我需要在 DropDownList 中显示属于特定角色的“用户”列表。

这是我的代码:

        // Find DropDownList
        DropDownList myUserList = (DropDownList)uxInsertAuthorInput.FindControl("uxUserListSelector");
        // Bind data to DropDownList
        myUserList.DataSource = Roles.GetUsersInRole("CMS-AUTHOR");
        myUserList.DataBind();
        myUserList.DataTextField = "UserName";

我的问题是当访问者在 DropDownList 中选择一个项目时。 传递的实际值是“UserName”而不是“UserId”。

当访问者从 DropDownList 中选择项目时,我需要使用“UserId”值。

怎么做呢? 感谢您的帮助

Hi I need to display in DropDownList a list of "Users" belonging a specific ROLE.

This is my code:

        // Find DropDownList
        DropDownList myUserList = (DropDownList)uxInsertAuthorInput.FindControl("uxUserListSelector");
        // Bind data to DropDownList
        myUserList.DataSource = Roles.GetUsersInRole("CMS-AUTHOR");
        myUserList.DataBind();
        myUserList.DataTextField = "UserName";

My problem is when a visitor select an item in DropDownList.
The actual value passed is the "UserName" and not the "UserId".

I need to use the "UserId" value when a visitor select an item from DropDownList.

How to do it?
Thanks for your help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

世俗缘 2024-10-11 03:14:46

您可以使用选定的用户名并调用 Membership.GetUser。然后,您可以使用 MembershipUser 获取用户 ID。 ProviderUserKey 属性。

当然,如果目标是从用户 ID 中获取 MembershipUser,那么您将在调用 GetUser 后获得该用户。

You can take the selected username and call Membership.GetUser. You can then get the user ID using the MembershipUser.ProviderUserKey property.

Of course, if the goal was to get the MembershipUser from the user id, then you'll have the user after calling GetUser.

又怨 2024-10-11 03:14:46

返回您的 .aspx 代码(如果您使用所见即所得,则返回设计的代码)。更改 SQL 数据源中的查询。我通过使用类似的方法做到了这一点:

        <asp:SqlDataSource ID="sqlUsersInRole0" runat="server" ConnectionString="<%$ ConnectionStrings:NCLWebConnectionString %>"
            SelectCommand="GetUsersInRole" SelectCommandType="StoredProcedure">
            <SelectParameters>
                <asp:Parameter DefaultValue="MaintenanceWorkers" Name="rolename" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>

我认为这也可以通过编程来完成,但为什么要麻烦呢?

Go back to your .aspx code (or the designed if you used WYSIWYG). Change the query in the SQL Datasource. I did this similarly by using:

        <asp:SqlDataSource ID="sqlUsersInRole0" runat="server" ConnectionString="<%$ ConnectionStrings:NCLWebConnectionString %>"
            SelectCommand="GetUsersInRole" SelectCommandType="StoredProcedure">
            <SelectParameters>
                <asp:Parameter DefaultValue="MaintenanceWorkers" Name="rolename" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>

I assume this can also be done programatically, but why bother?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文