Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将数据表从控制器传递到PartialView_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 将数据表从控制器传递到PartialView

Asp.net mvc 将数据表从控制器传递到PartialView,asp.net-mvc,Asp.net Mvc,我正在寻找一种方法,使用控制器操作将数据表传递到部分视图。或者如果你知道更好的方法,我愿意接受建议 控制器: public DataTable GetDailyOutput() { Graph g = repository.Graphs.Where(p => p.GraphID == 2).FirstOrDefault(); DataTable dt = repository.GetGraphData(g.StoredProc); return dt; } 视图:

我正在寻找一种方法,使用
控制器
操作将
数据表
传递到
部分视图
。或者如果你知道更好的方法,我愿意接受建议

控制器:

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


@{Html.Partial(“_GetDailyOutput”,Html.Action(“GetDailyOutput”,“Graph”);}
局部视图:

@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>
@model System.Data.DataTable
@使用系统数据
@foreach(Model.Columns中的数据列col)
{
@col.ColumnName
}
@foreach(Model.Rows中的数据行)
{
@foreach(Model.Columns中的数据列col)
{
@行[列名称]
}
}

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

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

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);
}
控制器操作:

$.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>

@动作(“\u GetDailyOutput”,“Graph”)

intellisense无法识别PartialView,您是指PartialView结果吗?这会返回一个错误:执行处理程序'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'的子请求时出错。引发此错误的确切原因是什么
@Html.Action
?是@Html.Action,但它的输出已完成。在这种情况下,请在页面加载时调用ajax。抱歉,我想我误解了您的意思,我还没有使用ajax,只是操作