asp.net gridview用户控件

时间:2013-08-10 02:36:34

标签: asp.net gridview user-controls

每个人都非常使用他的项目中的网格视图控件,至少我是这样做的。

我为我的网格添加了一个漂亮的样式,我擦除了边框和单元格间距等。 我还通过存储过程从我的数据库绑定它。 我写了分页方法和页面索引更改方法等。

现在我想将它打包在用户控件中,以便在任何项目或页面中使用此网格, 因为在每个页面和每个项目中制作所有这些内容令人沮丧。

但是当我把它放在用户控件中时,我无法从html中创建新的列和模板字段。

uc1:WebGrid  runat="server" ID="WebGrid" />
    <!-- i want to be able to do this -->
    <!-- 
        <columns>

        TODO

        </coulumns>
        -->
  

答案:   this链接非常有用,除非它在vb代码中:(

1 个答案:

答案 0 :(得分:0)

将网格视图放入用户控件将阻止您在标记中包含用户控件的<Columns>定义,因为无法通过用户控件的属性访问网格视图定义。

根据您要在其他地方重复使用的更改的描述,在我看来,您最好创建一个可以应用于应用程序中的所有网格视图而不是用户控件的CSS类。

对于分页逻辑,如果分页逻辑足够通用,则可以将其放在应用程序中的所有网格视图都可以调用以进行分页的实用程序类中。

底线是您已将网格视图的结构锁定到用户控件中,因为没有机制可以更改结构。您可以尝试构建允许更改结构的属性,但这不是大多数人习惯的熟悉的<Columns>语法。

更新:

如果你想“扩展”网格视图,那么这是一个完全不同的故事,这就像Telerik等公司这样做,他们可以使用网格视图的基本功能,然后提供增值。

查看之前的StackOverflow问题,详细了解如何扩展GridView,然后将其公开为控件,以便在应用程序的其他位置使用 - use class extending gridview as control