我正在開發一個 scholl 專案(使用 asp.net 核心 Web 應用程式),我使用存盤程序從 sql server 資料庫中選擇資料到 SqlDataReader 中,它回傳

uj5u.com熱心網友回復:
看來您想SqlDataReader直接在剃須刀頁面中使用。像下面
@model MyViewModel
...
// This way is wrong.
Model.rdr
眾所周知,我們可以從 中獲取資料SqlDataReader,
請檢查圖片中的句子。
因為你前端頁面顯示的效果還是需要計算的,所以我建議你新建一個DataTable,然后根據業務調整資料,然后把DataTable傳給前端。這是實作它的更好方法。
//MyViewModel model = new MyViewModel();
//model.DataObj= ToListByDataTable<DataModel>(dtSource);
DataTable dtYear = new DataTable();
DataView dvYear = dtSource.DefaultView;
dtYear = dvYear.ToTable(true,"year");
DataTable dtShow = new DataTable();
dtShow.Columns.Add("Ap_Name", typeof(String));
for (int i = 0; i < dtYear.Rows.Count; i )
{
dtShow.Columns.Add(dtYear.Rows[i]["year"].ToString(), typeof(String));
}
// Fill data into the DataTable of dtShow according to certain rules.
return View(dtShow);
您的 cshtml 應如下所示:
@using System.Data
@model List<DataTable>
<style>
table, th, td {
border: 1px solid;
}
</style>
<table cellpadding="0" cellspacing="0">
<tr>
<th>Ap_Name</th>
@foreach (DataRow row in Model[0].Rows)
{
<th>@row["year"]</th>
}
</tr>
@foreach (DataRow row in Model[1].Rows)
{
<tr>
<td>@row["Ap_Name"]</td>
@foreach (DataRow row1 in Model[0].Rows) {
<td>@row1["year"]</td>
}
</tr>
}
</table>
您需要自己填寫資料。

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/446528.html
標籤:html asp.net-mvc asp.net 核心
