加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 将DataTable从控制器传递到PartialView

发布时间:2020-12-16 09:12:21 所属栏目:asp.Net 来源:网络整理
导读:我正在寻找一种使用Controller Action将DataTable传递给PartialView的方法.或者如果你知道更好的方式,我愿意接受建议. 控制器: public DataTable GetDailyOutput(){ Graph g = repository.Graphs.Where(p = p.GraphID == 2).FirstOrDefault(); DataTable dt
我正在寻找一种使用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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读