「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.17
XML
カテゴリ: C#.NET


ASP.NET MVC パターンで View に DataTable を渡す方法はいくつかあります。以下はその中のいくつかの方法です。


1. **ViewBag を使用する方法:**

   Controller で DataTable を作成し、ViewBag を介してそれを View に渡すことができます。


   ```csharp

   public ActionResult MyAction()

   {

       DataTable dataTable = GetMyDataTable(); // あなたのDataTableを取得するメソッド

       ViewBag.MyDataTable = dataTable;

       return View();

   }

   ```


   View で ViewBag.MyDataTable を使用して DataTable にアクセスできます。


   ```razor

   @foreach (DataRow row in ViewBag.MyDataTable.Rows)

   {

       <p>@row["ColumnName"]</p>

   }

   ```


2. **モデルを使用する方法:**

   モデルクラスを作成して、そのプロパティとして DataTable を含めることができます。


   ```csharp

   public class MyModel

   {

       public DataTable MyDataTable { get; set; }

   }

   ```


   Controller でモデルを作成し、そのモデルを View に渡します。


   ```csharp

   public ActionResult MyAction()

   {

       DataTable dataTable = GetMyDataTable(); // あなたのDataTableを取得するメソッド

       MyModel model = new MyModel { MyDataTable = dataTable };

       return View(model);

   }

   ```


   View でモデルのプロパティとして DataTable にアクセスできます。


   ```razor

   @foreach (DataRow row in Model.MyDataTable.Rows)

   {

       <p>@row["ColumnName"]</p>

   }

   ```


3. **Strongly Typed View を使用する方法:**

   View が特定のモデルタイプを持つ場合、強く型付けされた View を使用できます。


   まず、モデルクラスを定義します。


   ```csharp

   public class MyModel

   {

       public DataTable MyDataTable { get; set; }

   }

   ```


   次に、View でモデルの型を指定します。


   ```razor

   @model MyModel

   ```


   Controller でモデルを作成し、View に渡します。


   ```csharp

   public ActionResult MyAction()

   {

       DataTable dataTable = GetMyDataTable(); // あなたのDataTableを取得するメソッド

       MyModel model = new MyModel { MyDataTable = dataTable };

       return View(model);

   }

   ```


   View では、モデルのプロパティとして DataTable にアクセスできます。


   ```razor

   @foreach (DataRow row in Model.MyDataTable.Rows)

   {

       <p>@row["ColumnName"]</p>

   }

   ```


これらの方法を使用して、ASP.NET MVC パターンで View に DataTable を渡すことができます。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.17 09:20:09


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: