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调用以获取名称并将其设置在标签上。但我个人更喜欢第一种方式。