在我的MVC应用程序中,我从数据库中检索数据。我想在表格中显示已退休的数据。 控制器代码:
public ActionResult MyAccount()
{
var user = User.Identity.Name;
string sThumbnails = "";
DataSet dsTemplates = new DataSet();
string qryTemplets = "select * from FileInfo where UserName= '" + user + "'";
open_Connection();
SqlDataAdapter daTemplate = new SqlDataAdapter(qryTemplets, conn);
daTemplate.Fill(dsTemplates, "FileInfo");
DataTable dtTemplates = new DataTable();
dtTemplates = dsTemplates.Tables[0];
foreach (DataRow row in dtTemplates.Rows)
{
sThumbnails = sThumbnails + row["FileName"] + row["Date"] + row["Time"] + row["Info"] ;
ViewData["thumbs"] = sThumbnails;
}
close_Connection();
return View();
}
查看代码:
<div id="formleft" style="border-style: solid; border-color: inherit; border-width: 4px; width:550px; height:500px; position:absolute; top: 345px; left: 348px;">
<h2 class="heading" style="text-align: center;">Info</h2><%= ViewData["thumbs"] %> </div>
此代码显示数据但我想以表格格式显示它。
如何以表格格式显示数据?
答案 0 :(得分:3)
不要使用ViewData
,使用使用自定义类构建的模型来存储该信息。类似的东西:
public class TableInfo
{
public string FileName { get; set; }
public string Date { get; set; } //you might want to change this to DateTime
public string Time { get; set; } //this may need changing to TimeSpan or int possibly?
public string Info { get; set; }
}
然后你可以这样做:
List<TableInfo> tables = dtTemplates.Rows.AsEnumerable()
.Select(t => new TableInfo
{
FileName = row["FileName"],
Date = row["Date"],
Time = row["Time"],
Info = row["Info"]
})
.ToList();
close_Connection();
return View(tables);
然后在您看来,您可以这样做:
@model List<TableInfo>
if (Model.Count > 0)
{
<table>
<tr>
<td>File Name</td>
<td>Date</td>
<td>Time</td>
<td>Info</td>
</tr>
@foreach (TableInfo item in Model)
{
<tr>
<td>@item.FileName</td>
<td>@item.Date</td>
<td>@item.Time</td>
<td>@item.Info</td>
</tr>
}
</table>
}
答案 1 :(得分:0)
在模型中的HTML代码之前添加关注代码
<style>
table th { border: 1px solid black; text-align:center }
table td { border: 1px solid black; text-align:center }
</style>