我有一个包含用户名的GridView BoundField值,在数据库中我有两个用户名--一个是英文的,另一个是阿拉伯语的,我想根据语言更改BoundField用户名值,我尝试使用带有标签的TemplateField,但是我不能分配标签值,它会给出以下错误消息:
名称标签在当前上下文中不存在
aspx代码:
<asp:TemplateField HeaderText="user name">
<ItemTemplate>
<asp:Label ID='Label' runat='server' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>aspx.cs代码:
if (Convert.ToString(Session["lang"]) == "en")
{
Label.Text = reader["user_name_en"].ToString();
}
else
{
Label.Text = reader["user_name_ar"].ToString();
}发布于 2019-12-24 06:48:09
首先,将标签命名为标签是令人困惑的。标签是关键字。您可以将其更改为有意义的lblUser等等。
此外,您还可以使用以下内容。这里的索引是指标签从0开始出现在gridview列中的索引。
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lblGridView = e.Row.Cells[index].FindControl("Label") as Label;
lblGridView.Text="assign values here";
}https://stackoverflow.com/questions/59464822
复制相似问题