问题描述
我正在使用MVC使用ASP.Net制作一个Bug Tracker应用程序。每当创建票证时,便会将其添加到我的Tickets.sql数据库中。我希望在我的应用程序的VIEWdashboard.cshtml上显示票证数据库中包含的票证数量。但是我在尝试实现该功能时遇到了困难。我也不知道该怎么做。我希望在此过程中有所帮助,并且知道我需要做什么。
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3>Unresolved Tickets</h3>
</div>
<div id="num-unresolved-tickets" class="panel-body">
<h2 class="text-center">
<?PHP>
$SELECT COUNT(ID) AS UserId FROM Tickets;
</?PHP>
</h2>
</div>
</div>
</div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3>Resolved Tickets</h3>
</div>
<div id="num-resolved-tickets" class="panel-body">
<h2 class="text-center">4</h2>
</div>
</div>
</div>
解决方法
根据我的研究,我们很难直接从private HttpClient HttpClient { get; set; } = new HttpClient(Handler) { Timeout = TimeSpan.FromMilliseconds(-1) };
private static HttpClientHandler Handler { get; set; } = new HttpClientHandler() { MaxConnectionsPerServer = 3 };
的数据库中获取数据。
我们可以使用cshtml
代码执行c#
以在SqlCommand
中显示数据。
首先,我们需要添加以下类来处理cshtml
和SqlConnection
。
SqlCommand
第二,我们可以在控制器中调用该方法。
public class SqlHelper
{
private SqlConnection con;
//To Handle connection related activities
private void connection()
{
string constr = "CONNSTR";
con = new SqlConnection(constr);
}
public string ExecuteSql(string sql)
{
connection();
SqlCommand command = new SqlCommand(sql,con);
con.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
return reader.GetName(0)+ ": "+reader[0].ToString();
}
con.Close();
return string.Empty;
}
}
第三,请设置以下cshtml。
public ActionResult Index()
{
string sql = "SELECT COUNT(ID) AS UserId FROM Tickets";
SqlHelper helper = new SqlHelper();
ViewBag.Message = helper.ExecuteSql(sql);
return View();
}
最后,您可以获得正确的结果。