C# 在ItemTemplate中将Gridview列从ID转换为字符串
我目前有一个Gridview,可以显示 类型ID、名称、描述 我想在gridview中显示实际的类型名,而不是TypeID。我创建了这个函数,它接受ID并返回名称,但是我在使用它时遇到了问题。有15-20种不同的类型,因此如何将TypeID转换为类型名称,以便在呈现Gridview时显示它C# 在ItemTemplate中将Gridview列从ID转换为字符串,c#,asp.net,gridview,controls,C#,Asp.net,Gridview,Controls,我目前有一个Gridview,可以显示 类型ID、名称、描述 我想在gridview中显示实际的类型名,而不是TypeID。我创建了这个函数,它接受ID并返回名称,但是我在使用它时遇到了问题。有15-20种不同的类型,因此如何将TypeID转换为类型名称,以便在呈现Gridview时显示它 protected string GetGenericTypeByID(int genericTypeID) { string genericTypeName;
protected string GetGenericTypeByID(int genericTypeID)
{
string genericTypeName;
GenericType.Generic_TypeDataTable genericTypeNameDS = new GenericType.Generic_TypeDataTable();
genericTypeNameDS = GenericBO.Get_GenericTypeByID(genericTypeID);
genericTypeName = genericTypeNameDS[0]["Generic_Type_Name"].ToString();
return genericTypeName;
}
我原以为我可以在ItemTemplate中使用该函数,但这似乎比我想象的更难
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("GetGenericTypeByID("Generic_Type_ID")")%>'></asp:Label>
</ItemTemplate>
感谢所有帮助我解决这个问题的人。
我最终使用了下面的方法,效果非常好。
GetGenericTypeByID(Convert.ToInt32(Eval(“Generic_Type_ID”))在用于填充网格的row类上创建一个只读属性,并获取此属性以返回函数的结果。您得到了“bind/Eval”和方法调用。
看
您是否仅限于标签标签?如果不是,请扩展David HAust的答案,尝试以下方法:
<ItemTemplate>
<%#GetGenericTypeByID(Eval(Generic_Type_ID))%>
</ItemTemplate>
只有当您将数据绑定到某个列表(其中T是您的行类)时,这才有效。如果要将数据绑定到sql数据集,那么这不会有多大帮助。
public string FormatUrl(string email)
{
return “mailto:” + email;
}
<ItemTemplate>
<%#GetGenericTypeByID(Eval(Generic_Type_ID))%>
</ItemTemplate>