SubSonic 2.2和ASP.NET gridview

时间:2010-08-17 20:24:37

标签: asp.net gridview function subsonic

我正在尝试在gridview中显示一个自定义列,它根据我数据库中的几个布尔字段显示内容类型。一切都运行正常,但它导致了我现在这样做的大量开销......就像这样:

<ItemTemplate>
   <asp:Label ID="lblType" runat="server" Text='<%# GetType((int)DataBinder.Eval(Container.DataItem))%>' />
</ItemTemplate>

这将调用一个函数Ge​​tType,它根据ArticleID查询数据库。当然,对于gridview中的每个项目都会发生这种情况。现在我想知道是否可以将当前(亚音速)集合项发送到此函数中?因为该项目已经可用,但我不知道如何将其放入我的itemtemplate中。

我当前的项目是DAL.Article,其中包含我需要的所有内容。

我希望我能说清楚一点!感谢你的时间。

亲切的问候, 标记

1 个答案:

答案 0 :(得分:0)

亚音速生成的类是部分的,因此是可扩展的。 假设您有一个名为Person的DAL对象。您可以创建一个新文件Person.cs(当然在另一个文件夹中)。

namespace Your.Dal.Namespace {
    public partial class Person
    {
        public string DisplayName
        {
            get
            {
                return String.Format("{0}, {1}", this.LastName, this.FirstName);
            }
        }
    }
}

现在您可以访问类的DisplayName属性:

PersonCollection col = new PersonCollection().Load();

foreach(Person p in col)
    Console.WriteLine(p.DisplayName);

我使用这种技术将Subsonic Collections绑定到Windows.Forms DataGridView上。 但它也适用于asp.net。