我有两个aspx页面:
DashboardPreview.aspx:这是主页。它在DataGridView中显示前5个仪表板。它也显示了其他信息。
DashboardList.aspx:它在DataGridView中显示所有带分页的仪表板。
每个仪表板都有几个控件(即DataGridView的每一行)。例如:仪表板可以与其他用户“编辑”和“共享”。
我想编写DataGridView 仅ONCE 。
然后,我想在两个页面中使用该代码。我该怎么做?
注意:我通过从Visual Studio的Toolbox中拖放来创建DataGridView,即我没有自己编写整个代码。但是,我自己创建了像“共享”按钮这样的控件。
答案 0 :(得分:1)
如果要跨页面重用服务器控件,则需要创建用户控件。
创建用户控件:
您的用户控件将如下所示:
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="YourUserControlName.ascx.vb" Inherits="Controls_YourUserControlName" %>
<asp:GridView ID="GridView1">
<!-- Do you grid view stuff here -->
</asp:GridView>
要使用用户控件,您需要在要使用它的页面上注册它。代码如下所示:
<%@ Register Src="~/Controls/ucGrid.ascx" TagName="ucGrid" TagPrefix="uc" %>
然后你就像服务器控件一样使用它。
<uc:ucGrid ID="GridView" runat="server" />
但是,在每个页面上注册用户控件可能会变得乏味,因此为了方便起见,您可以在web.config中注册它们。
<system.web>
<pages>
<controls>
<add tagPrefix="uc" src="~/Controls/ucGrid.ascx" tagName="ucGrid"/>
</controls>
</pages>
</system.web>
答案 1 :(得分:0)
显而易见的解决方案是将网格放在UserControl中,然后在所有相关页面上包含UserControl。
答案 2 :(得分:0)
您可以使用“网络用户控制”。在您的解决方案中添加webusercontrol,将datagridview拖放到webusercontrol界面,并根据需要更改usercontrol的codebehind文件。之后构建您的解决方案。构建解决方案后,您只需将用户控件拖放到要使用的任何页面即可。您不必一次又一次地编码。如果您需要更多详细信息,可以搜索“使用Web控件”。