C# 如何在asp.net web窗体上设置标签数据值字段和文本值字段

C# 如何在asp.net web窗体上设置标签数据值字段和文本值字段,c#,asp.net,gridview,data-binding,label,C#,Asp.net,Gridview,Data Binding,Label,我的项目中有以下代码: protected void Page_Load(object sender, EventArgs e) { if (AuthenticateService.LoggedUser == null) { Response.Redirect("Login.aspx"); return; } if (!Page.IsPostBack)

我的项目中有以下代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (AuthenticateService.LoggedUser == null)
        {
            Response.Redirect("Login.aspx");
            return;
        }

        if (!Page.IsPostBack)
        {
            RefreshItems();
        }
    }

    private void RefreshItems()
    {
        GridViewTasks.DataSource = taskRepo.GetAll();
        GridViewTasks.DataBind();
        DropDownList ddl = (DropDownList)GridViewTasks.FooterRow.FindControl("ddList");
        ddl.DataSource = userRepo.GetAll();
        ddl.DataValueField = "UserId";
        ddl.DataTextField = "UserName";

    }
我想为这个RefreshItems方法添加更多的功能

我有GridView,在这里我可以显示数据库中的数据

我有DropDownList,在我从数据库中获取它们之后,我将其DataValueField和DataTextField设置为我的UserId和UserName值。单击“添加新任务”时会显示此下拉列表

我也有名为CreatedBy的列,并在GridView中分配了标签,我想在GridView上显示它们,就像我的DropDownList一样-标签值应该是UserId值,标签文本应该是UserName

这就是它的样子

如何正确设置标签值和文本,以便在GridView上用用户名显示它们

这是我的页面代码:

<asp:TemplateField HeaderText="CreatedBy" SortExpression="CreatedBy">
<ItemTemplate>
<asp:Label ID="lbCreatedBy" runat="server" Text='<%# Bind("CreatedBy") %'>

从DB中获取结果集时,必须获取相应的文本名称,例如:CreatedByName,AssignedtoName,否则可以实现数据行绑定事件,其中可以进行DB调用以获取名称并将其设置在标签上。但我个人更喜欢第一种方式。