sql - 在asp MVC View中显示非实体数据的最佳方法是什么
问题描述
我在带有 c# 的 asp MVC 控制器中有一个非实体自定义和原始 SQL 查询。我想将此数据发送到 asp MVC razor 视图并以表格格式显示它们及其相应的列标题。如何获取标题(自定义查询可以涉及任意数量的表)并以表格格式显示数据?我很感激你的帮助。
public class QueryScriptController : Controller
{
private EntitiesContext db = new EntitiesContext();
public ActionResult CreateQueryScript(string SqlQueryString )
{
try
{
var ResultList= db.Database.SqlQuery<string>(SqlQueryString).ToList();
return View(ResultList);
}
catch
{
return View();
}
}
}
解决方案
在您的控制器中,将数据传递给如下所示的 Viewbag 并将该 Viewbag 传递给剃刀视图。
public class QueryScriptController : Controller
{
private EntitiesContext db = new EntitiesContext();
public ActionResult CreateQueryScript(string SqlQueryString )
{
try
{
var ResultList= db.Database.SqlQuery<string>
(SqlQueryString).ToList();
ViewBag.data =ResultList;
return View();
}
catch
{
return View();
}
}
}
在您的 razor 页面中,调用如下所示的 Viewbag 并调用您从查询中获得的数据对象。
@{
var data = ViewBag.data;
}
using somemodel;
<!DOCTYPE html>
<html style="position: absolute; width: 100%; height: 100%">
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css?family=Fira+Sans" rel="stylesheet">
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<title>PaySlip</title>
</head>
<body >
<div class="col-lg-6">
<h5 align="center" style="text-decoration: underline;">Results</h5>
<table className="table-bordered table-striped">
<thead>
<tr>
<th style="width: 60%">Column 1</th>
<th style="width: 30%">Column 2</th>
</tr>
</thead>
<tbody>
@foreach (var item in @data)
{
<tr >
<td style="width: 60%">@item.object1</td>
<td style="width: 30%">@item.object2</td>
</tr>
}
</tbody>
</table>
</div>
</body>
</html>
推荐阅读
- kubernetes - Kubernetes 中的自定义负载均衡
- javascript - Angular中的多父组织结构图
- css - 如何在 Div 内排列此文本和按钮?
- gcloud - 无法验证推送或拉取存储库:远程错误:访问被拒绝
- javascript - jsx 无法编译 Unexpected Token
- windows - Unix 和 Linux Cut 命令等同于 For Loop DOS 命令
- css - 如何获取类名然后更改css样式(Ionic)
- android - Android应用程序是否有可能杀死自己的进程
- api - 寻求 IBM Watson 凭证修复
- memcached - AWS Elatic Memcache 日志堆积在应用程序服务器中