如何将DataTable在ASP.NET MVC中高效地从控制器传递至PartialView实现数据展示?

2026-03-30 12:221阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计371个文字,预计阅读时间需要2分钟。

如何将DataTable在ASP.NET MVC中高效地从控制器传递至PartialView实现数据展示?

我正在寻找一种使用Controller和Action将DataTable传递给PartialView的方法。或者,如果您知道更好的方式,我很愿意接受建议。

控制器方法示例:csharppublic DataTable GetDailyOutput(){ Graph g=repository.Graphs.Where(p=> p.GraphId==p.GraphI).ToList();}

我正在寻找一种使用Controller Action将DataTable传递给PartialView的方法.或者如果你知道更好的方式,我愿意接受建议.

控制器:

public DataTable GetDailyOutput() { Graph g = repository.Graphs.Where(p => p.GraphID == 2).FirstOrDefault(); DataTable dt = repository.GetGraphData(g.StoredProc); return dt; }

视图:

<div id="dvCategoryResults"> @{Html.Partial("_GetDailyOutput", Html.Action("GetDailyOutput", "Graph"));} </div>

局部视图:

@model System.Data.DataTable @using System.Data <table> <thead> <tr> @foreach (DataColumn col in Model.Columns) { <th> @col.ColumnName </th> } </tr> </thead> <tbody> @foreach (DataRow row in Model.Rows) { <tr> @foreach (DataColumn col in Model.Columns) { <td> @row[col.ColumnName] </td> } </tr> } </tbody> </table>

我的下一步是使用Ajax调用更新表并刷新PartialView.

您可能需要使用AJAX.您可以将下面的代码放在事件处理程序中,例如按钮单击的处理程序.

使用JQuery $.post()的AJAX示例:

$.post('@Url.Content("~/Graph/_GetDailyOutput")', function( data ) { $( "#dvCategoryResults" ).html( data ); });

控制器动作:

public PartialViewResult _GetDailyOutput() { Graph g = repository.Graphs.Where(p => p.GraphID == 2).FirstOrDefault(); DataTable dt = repository.GetGraphData(g.StoredProc); return PartialView(dt); }

如果您愿意,可以在不使用JavaScript的情况下最初渲染局部视图

<div id="dvCategoryResults"> @Html.Action("_GetDailyOutput", "Graph") </div>

如何将DataTable在ASP.NET MVC中高效地从控制器传递至PartialView实现数据展示?

本文共计371个文字,预计阅读时间需要2分钟。

如何将DataTable在ASP.NET MVC中高效地从控制器传递至PartialView实现数据展示?

我正在寻找一种使用Controller和Action将DataTable传递给PartialView的方法。或者,如果您知道更好的方式,我很愿意接受建议。

控制器方法示例:csharppublic DataTable GetDailyOutput(){ Graph g=repository.Graphs.Where(p=> p.GraphId==p.GraphI).ToList();}

我正在寻找一种使用Controller Action将DataTable传递给PartialView的方法.或者如果你知道更好的方式,我愿意接受建议.

控制器:

public DataTable GetDailyOutput() { Graph g = repository.Graphs.Where(p => p.GraphID == 2).FirstOrDefault(); DataTable dt = repository.GetGraphData(g.StoredProc); return dt; }

视图:

<div id="dvCategoryResults"> @{Html.Partial("_GetDailyOutput", Html.Action("GetDailyOutput", "Graph"));} </div>

局部视图:

@model System.Data.DataTable @using System.Data <table> <thead> <tr> @foreach (DataColumn col in Model.Columns) { <th> @col.ColumnName </th> } </tr> </thead> <tbody> @foreach (DataRow row in Model.Rows) { <tr> @foreach (DataColumn col in Model.Columns) { <td> @row[col.ColumnName] </td> } </tr> } </tbody> </table>

我的下一步是使用Ajax调用更新表并刷新PartialView.

您可能需要使用AJAX.您可以将下面的代码放在事件处理程序中,例如按钮单击的处理程序.

使用JQuery $.post()的AJAX示例:

$.post('@Url.Content("~/Graph/_GetDailyOutput")', function( data ) { $( "#dvCategoryResults" ).html( data ); });

控制器动作:

public PartialViewResult _GetDailyOutput() { Graph g = repository.Graphs.Where(p => p.GraphID == 2).FirstOrDefault(); DataTable dt = repository.GetGraphData(g.StoredProc); return PartialView(dt); }

如果您愿意,可以在不使用JavaScript的情况下最初渲染局部视图

<div id="dvCategoryResults"> @Html.Action("_GetDailyOutput", "Graph") </div>

如何将DataTable在ASP.NET MVC中高效地从控制器传递至PartialView实现数据展示?