如何在 html 表中显示存储过程输出
本文关键字:显示 存储过程 输出 html | 更新日期: 2023-09-27 17:56:23
我想在HTML表中显示存储过程的输出。我知道如何在网格视图中显示,但我不知道如何在 HTML 表中显示。任何人都可以建议我或为我提供示例代码,以便我从中学习。我已经搜索并试图解决。我想从创建的 HTML 表中创建图形。
首先,您必须创建一个 ViewModel 来显示要在视图上列出的信息。像这样:
public class ProductViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
/* other properties you need */
}
在控制器中,您可以访问数据库并创建一个列表,并将其返回到 html 输出中显示的视图。我建议您创建一个数据访问层,而不是直接在控制器中使用 Ado.Net。
public ActionResult Index()
{
var model = new List<ProductViewModel>();
// create a connection
SqlConnection con = new SqlConnection("your_connection_string");
try
{
// open the conneciton
con.Open();
// prepare a command
SqlCommand command = new SqlCommand("You_Stored_Procedure_Name",con);
command.CommandType = CommandType.StoredProcedure;
// add parameters if you need
// command.Parameters.AddWithValue("ParameterName", value);
// execute a reader with the command
using (var reader = command.ExecuteReader())
{
// loop in the result and fill the list
while (reader.Read())
{
// add items in the list
model.Add(new ProductViewModel()
{
Id = (int)reader["Id"],
Name = reader["Name"].ToString(),
Price = (decimal)reader["Price"]
// other properties
});
}
}
}
catch
{
}
finally
{
con.Close();
}
return View(model);
}
在您的视图中,您可以使用IEnumrable<ProductViewModel>
键入它并将其列在 HTML 表或您需要的任何 HTML 结构中,如下所示:
@model IEnumerable<ProductViewModel>
<table>
<tr>
<th>Name</th>
<th>Price</th>
</tr>
@foreach(var item in Model)
{
<tr>
<td>@item.Name</td>
<td>@item.Price.ToString("C2")</td>
</tr>
}
</table>
我认为...您可以调用 SP 并在.CS页面上获取数据...
现在你必须做一件事..将该 Datareader 存储在任何列表中。并应用 linq 查询,以便您可以根据 requirement.store 获取记录,该记录在单独的变量上。
请参阅示例:
MainHTML = MainHTML + "<div class=" + "HideDivClass" + " id=" + TMid + "><table width=" + "180" + " cellspacing=" + "1" + " cellpadding=" + "2" + " align=" + "left" + "><tbody><tr><td style=" + "text-align:center;font-size:13px" + "align=" + "center" + " colspan=" + "2" + "><b>" + TransModeName + "</b></td></tr><tr><td class=" + "DetailsFontSize" + ">Last 7 days</td><td class=" + "DetailsFontSize" + " " + "align=" + "right" + ">$" + TotalSumActualCharge7Days + "</td></tr><tr></tr><tr><td class=" + "DetailsFontSize" + ">Last 30 days</td><td class=" + "DetailsFontSize" + " " + "align=" + "right" + ">$" + TotalSumActualCharge30Days + "</td></tr><tr><td class=" + "DetailsFontSize" + ">This Year</td><td class=" + "DetailsFontSize" + " " + "align=" + "right" + ">$" + TotalSumActualChargeThisYear + "</td></tr><tr><td class=" + "DetailsFontSize" + ">Total</td><td class=" + "DetailsFontSize" + " " + "align=" + "right" + ">$" + TotalSumActualChargeTotal + "</td></tr><tr><td class=" + "DetailsFontSize" + ">Avg/Shipment</td><td class=" + "DetailsFontSize" + " " + "align=" + "right" + ">$" + AvgShip.ToString("#.####") + "</td></tr><tr><td class=" + "DetailsFontSize" + "align=" + "center" + " colspan=" + "2" + "></td></tr></tbody></table></div>";
在这里,我将MainHTML作为字符串...并制作了一个字符串(HTML 布局/设计格式)并将此字符串绑定到标签。
label.text = MainHTML.tostring();您可以根据自己的喜好设置设计...