You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用模板为查询存储过程的控制器创建视图?

嘿,我来帮你搞定这个视图创建的事儿!下面一步步教你给这个查询存储过程的控制器配上合适的视图:

为存储过程查询控制器创建视图的完整步骤

首先先确认下你已有的关键代码,方便后续对应操作:

控制器代码

public ActionResult Display() 
{ 
    return View(db.P_GET_USER().ToList()); 
}

上下文类中的存储过程调用方法

public virtual ObjectResult<P_GET_USER_Result> P_GET_USER() 
{ 
    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<P_GET_USER_Result>("P_GET_USER"); 
}

1. 生成强类型视图

在控制器的Display方法上右键,选择添加视图,然后按以下配置设置:

  • 视图名称:保持默认的Display即可
  • 模板:根据需求选择,展示列表选List、看详情选Details,一般用户列表用List模板最适配
  • 模型类:选择P_GET_USER_Result(就是你提到的那个复杂类型,确保它已经在项目中存在)
  • 数据上下文类:可选,因为控制器已经传递了列表数据,也可以不选
  • 勾选创建强类型视图和使用布局页(如果项目有统一布局的话)

2. 自定义视图内容(以List模板为例)

生成的视图会自动基于P_GET_USER_Result的属性生成表格,你可以根据实际需求调整,比如修改表头文字、添加操作按钮等。给你个参考示例:

@model IEnumerable<P_GET_USER_Result>

@{
    ViewBag.Title = "用户列表";
}

<h2>用户列表</h2>

<p>
    @Html.ActionLink("添加新用户", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.UserId)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.UserName)
        </th>
        <!-- 这里根据P_GET_USER_Result的其他属性继续添加表头 -->
        <th>操作</th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.UserId)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.UserName)
        </td>
        <!-- 对应属性的展示 -->
        <td>
            @Html.ActionLink("查看详情", "Details", new { id=item.UserId }) |
            @Html.ActionLink("编辑", "Edit", new { id=item.UserId }) |
            @Html.ActionLink("删除", "Delete", new { id=item.UserId })
        </td>
    </tr>
}

</table>

3. 关键注意事项

  • 确保P_GET_USER_Result类的属性都是public修饰的,不然视图无法正常读取数据
  • 检查存储过程返回的字段和P_GET_USER_Result的属性是否完全匹配(字段名、数据类型),不匹配会出现绑定错误
  • 如果需要分页、排序功能,可以在控制器中对db.P_GET_USER().ToList()做进一步处理,比如用分页库,再在视图中添加分页控件

这样操作下来,你的Display控制器就能正常渲染展示存储过程返回的用户数据啦!

内容的提问来源于stack exchange,提问作者user4221591

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:58:32