Asp.net mvc 使用id从数据库检索数据并在mvc视图中显示

Asp.net mvc 使用id从数据库检索数据并在mvc视图中显示,asp.net-mvc,listview,asp.net-mvc-4,ado.net-entity-data-model,Asp.net Mvc,Listview,Asp.net Mvc 4,Ado.net Entity Data Model,我的问题在视图中…请给我适合我的数据库和操作的新视图 我的详细资料表: 使用html操作链接传递请求id: @Html.ActionLink(item.Request_ID, "Details",new { requestid = item.Request_ID },null ) 点击链接,我们将从数据库中获得与链接对应的详细信息 行动方法: public ActionResult Details(string requestid) { var entities =

我的问题在视图中…请给我适合我的数据库和操作的新视图

我的详细资料表:

使用html操作链接传递请求id:

 @Html.ActionLink(item.Request_ID, "Details",new { requestid = item.Request_ID },null )
点击链接,我们将从数据库中获得与链接对应的详细信息

行动方法:

public ActionResult Details(string requestid)
    {
        var entities = new EmployDBEntities1();
       var detailsModel = entities.Details.Single(e => e.Id == requestid);
       return View(detailsModel);
        //return View(entities.Details.ToList());
    }
希望我的问题是返回视图和设计视图。我的要求是我需要特定id的详细信息,并应在下面设计的视图中显示它们。我能够在var详细信息模型中检查ID,然后我必须从数据库中读取剩余字段,并在视图中显示这些字段。值得注意的是,我做到了这一点。请帮帮我

视图:
模型IEnumerable
@{
ViewBag.Title=“详细信息”;
//Layout=“~/Views/Shared/_Layout.cshtml”;
}
@节头{
@ActionLink(“Back”,“PendingRequests”,“Account”,null,新的{data_icon=“arrow-l”,data_rel=“Back”})
@视图包。标题
@ActionLink(“注销”、“注销”)
}
员工详细信息
@foreach(模型中的var项目){
员工ID
@Html.Encode(item.EmpID)
短ID
@Html.Encode(item.ShortID)
等级
@Html.Encode(item.Grade)
垂直的
@Html.Encode(item.Vertical)
垂直头
@Html.Encode(item.VerticalHead)
一级经理
@Html.Encode(item.L1\u管理器)
二级经理
@Html.Encode(item.L2_Mnager)
成本中心
@Html.Encode(item.costcenter)
}
  • 在“详细信息”操作中,指定绑定到视图的类型,即IEnumerable of Approvals.Models.Detail,而不是var type for detailsModel对象

  • 如果返回视图()中未提供视图名称,则视图名称应与操作名称匹配。else在“Details”操作中返回视图(“xxx”,detailsModel)

  • model Approvals.Models.Detail
    @{
    ViewBag.Title=“详细信息”;
    //Layout=“~/Views/Shared/_Layout.cshtml”;
    }
    @节头{
    @ActionLink(“Back”,“PendingRequests”,“Account”,null,新的{data_icon=“arrow-l”,data_rel=“Back”})
    @视图包。标题
    @ActionLink(“注销”、“注销”)
    }
    员工详细信息
    员工ID
    @Encode(Model.EmpID)
    短ID
    @Html.Encode(Model.ShortID)
    等级
    @Html.Encode(Model.Grade)
    垂直的
    @Html.Encode(Model.Vertical)
    垂直头
    @Html.Encode(Model.VerticalHead)
    一级经理
    @Html.Encode(Model.L1_管理器)
    二级经理
    @Html.Encode(Model.L2_Mnager)
    成本中心
    @Html.Encode(Model.costcenter)
    
    @AmitAgrawal。。。当我点击请求id时,它给出了“错误加载页面”。。。这是因为我给出了返回视图(detailsmodel),在视图中我正在从details表读取数据……但我不知道如何定义我的视图来读取特定请求id的详细信息。var entities=new EmployDBEntities1();IEnumerable detailsModel=entities.Details.Single(e=>e.Id==requestid);返回视图(“详细信息”,detailsModel)。。通过这样做,我在entities.Details.Single()附近得到了错误。从detailsModel类型中删除IEnumerable,因为.Single()返回的是单个对象not IEnumerable。还要从视图中删除此项并删除模型上的foreach;Approvals.Models.Detail-detailsModel=entities.Details.Single(e=>e.Id==requestid);返回视图(“详细信息”,detailsModel);我的视图:@model Approvals.Models.Detail已删除IEnumerable。。。我再次得到错误加载页面…请告诉我如何编写我的视图我正在使用ado.net和.edmx图表从数据库检索数据。给我一个新的视图,这样它就可以工作了。
    model IEnumerable<Approvals.Models.Detail>
    
    @{
    ViewBag.Title = "Details";
    //Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    @section Header {
    @Html.ActionLink("Back", "PendingRequests", "Account", null, new { data_icon = "arrow-l", data_rel = "back" })
    <h1>@ViewBag.Title</h1>
    @Html.ActionLink("Log Off", "LogOff") 
    
    
    }
    
    <head>
     <link href="~/StyleSheet1.css" rel="stylesheet" type="text/css" />
        </head>
    <div data-role="collapsible"  data-theme="b" data-content-theme="b">
        <h3>Employee Details</h3>
        <table class="td3">
            @foreach (var item in Model) {
            <tr>
                <td>Employee ID</td>
                <td>@Html.Encode(item.EmpID)</td>
            </tr>
                <tr>
                    <td>Short ID</td>
                    <td>
                        @Html.Encode(item.ShortID)
                    </td>
                </tr>
                <tr>
                <td>Grade</td>
                <td>@Html.Encode(item.Grade)</td>
            </tr>
                <tr>
                <td>Vertical</td>
                <td>@Html.Encode(item.Vertical)</td>
            </tr>
                <tr>
                <td>Vertical Head</td>
                <td>@Html.Encode(item.VerticalHead)</td>
            </tr>
                <tr>
                <td>L1 Manager</td>
                <td>@Html.Encode(item.L1_Manager)</td>
            </tr>
                <tr>
                <td>L2 Manager</td>
                <td>@Html.Encode(item.L2_Mnager)</td>
            </tr>
                <tr>
                <td>CostCentre</td>
                <td>@Html.Encode(item.CostCentre)</td>
            </tr>
            }
        </table>
        </div>
    
        model Approvals.Models.Detail
    
    @{
    ViewBag.Title = "Details";
    //Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    @section Header {
    @Html.ActionLink("Back", "PendingRequests", "Account", null, new { data_icon = "arrow-l", data_rel = "back" })
    <h1>@ViewBag.Title</h1>
    @Html.ActionLink("Log Off", "LogOff") 
    
    
    }
    
    <head>
     <link href="~/StyleSheet1.css" rel="stylesheet" type="text/css" />
        </head>
    <div data-role="collapsible"  data-theme="b" data-content-theme="b">
        <h3>Employee Details</h3>
        <table class="td3">
            <tr>
                <td>Employee ID</td>
                <td>@Html.Encode(Model.EmpID)</td>
            </tr>
                <tr>
                    <td>Short ID</td>
                    <td>
                        @Html.Encode(Model.ShortID)
                    </td>
                </tr>
                <tr>
                <td>Grade</td>
                <td>@Html.Encode(Model.Grade)</td>
            </tr>
                <tr>
                <td>Vertical</td>
                <td>@Html.Encode(Model.Vertical)</td>
            </tr>
                <tr>
                <td>Vertical Head</td>
                <td>@Html.Encode(Model.VerticalHead)</td>
            </tr>
                <tr>
                <td>L1 Manager</td>
                <td>@Html.Encode(Model.L1_Manager)</td>
            </tr>
                <tr>
                <td>L2 Manager</td>
                <td>@Html.Encode(Model.L2_Mnager)</td>
            </tr>
                <tr>
                <td>CostCentre</td>
                <td>@Html.Encode(Model.CostCentre)</td>
            </tr>
        </table>
        </div>