1

2 つの aspx ページがあります。

  1. DashboardPreview.aspx:これはホームページです。DataGridView に上位 5 つのダッシュボードが表示されます。その他の情報も表示されます。

  2. DashboardList.aspx: DataGridView のページネーションを含むすべてのダッシュボードを表示します。

各ダッシュボード (つまり、DataGridView の各行) で使用できるいくつかのコントロールがあります。たとえば、ダッシュボードを「編集」して他のユーザーと「共有」できます。

DataGridViewのみ ONCEをコーディングしたいと思います。

次に、そのコードを両方のページで使用したいと思います。どうすればいいのですか?

注: Visual Studio のツールボックスからドラッグ アンド ドロップして DataGridView を作成しました。つまり、自分ですべてをコーディングしたわけではありません。ただし、「共有」ボタンのようなコントロールは自分で作成しました。

4

3 に答える 3

1

ページ間でサーバー コントロールを再利用する場合は、ユーザー コントロールを作成する必要があります。

ユーザー コントロールを作成するには:

  1. ユーザー コントロール用の特定のフォルダーを作成します。
  2. そのフォルダを右クリックして [新しい項目の追加] を選択し、[ユーザー コントロール] を選択します。
  3. そのユーザー コントロール内に GridView を入力します。

ユーザー コントロールは次のようになります。

<%@ 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>
于 2012-06-14T13:24:27.897 に答える
0

明らかな解決策は、グリッドをUserControlに配置してから、関連するすべてのページにUserControlを含めることです。

于 2012-06-14T13:23:49.720 に答える
0

それには「web user control」を使用できます。ソリューションに webusercontrol を追加します datagridview を webusercontrol インターフェイスにドラッグ アンド ドロップし、必要に応じて usercontrol の分離コード ファイルを変更します。その後、ソリューションをビルドします。ソリューションを構築したら、ユーザー コントロールを使用する任意のページにドラッグ アンド ドロップするだけです。何度もコーディングする必要はありません。詳細が必要な場合は、「web コントロールの使用」を検索できます。

于 2012-06-14T13:24:28.643 に答える