1

私の問題は表示されています...私のデータベースとアクションに合った新しいビューを教えてください。

私の詳細表:

詳細表

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 details モデルで ID を確認できます。次に、データベースから残りのフィールドを読み取り、ビューにフィールドを表示する必要があります。私を助けてください。

意見:

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>
4

2 に答える 2

0
  1. detailsModel オブジェクトの var タイプの代わりに、ビューにバインドされているタイプ、つまり「詳細」アクションの Approvals.Models.Detail の IEnumerable を指定します。

  2. 返された View() で指定されていない場合、ビュー名はアクション名と一致する必要があります。それ以外の場合は、「詳細」アクションで View("xxx", detailsModel ) を返します。

于 2013-04-23T10:19:48.233 に答える
0
    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>
于 2013-04-24T08:31:31.097 に答える