访问字段内的Gridview行数据

时间:2011-07-25 21:28:16

标签: asp.net gridview

我有一个绑定到linqdatasource的Gridview。 gridview有一个FK。我想显示名称/文本字段,而不是此列的键字段。

我在我的ASP.NET页面中创建了一个方法,基本上是GetLookupForKey,它在提供密钥时返回字符串。但是,我不知道如何发送数据声明中特定行的列数据。

这应该说清楚:

        <asp:TemplateField>
        <ItemTemplate>

        <asp:Literal ID="RoleName" runat="server" Text='<%#
     

GetRoleName( *我需要在此处发送RoleId * )%&gt;' /&GT;                              

RoleId既是boundfield又是DataKeyName。如何将RoleId发送到我的方法?另外,如何在不使用任何代码隐藏的情况下实现这一目标?

由于

1 个答案:

答案 0 :(得分:1)

我现在可以看到两种方式,也许还有更多方法。

1)代码隐藏

<asp:Literal ID="RoleName" runat="server" Text='<%# GetRoleName(Eval("RoleId")) %>'/>

这个将需要在课程后面的代码中使用受保护的方法GetRoleName(object roleId)

2)没有代码

我假设对象Role和引用它的任何对象都在Linq上下文中声明。如果是这样,Linq可以(甚至默认行为)生成引用对象的属性。也就是说,当您有一个FK到Role的表时,相应的对象将同时具有RoleIDRole属性。因此,一切都可以以声明的方式完成:

<asp:Literal ID="RoleName" runat="server" Text='<%# Eval("Role.Name") %>'/>