2016-11-03 15 views
0

基本的には、edmx.Soデータベースから生成されたエンティティフレームワークを使用してデータベースデータに対してCRUD操作を実行するmvcアプリケーションを作成しました。設定私はscaffoldingとアクションビューと添付モデルとDBのconttextを読み書きできるようにCRUDというコントローラを追加しました。すべてのものが新しい従業員すなわちCreate.Theの問題を追加する時点まで、私はactionlinkを編集するか、特定の従業員のデータを削除すると、編集と削除のcshtmlページが見つからず、代わりにエラー404リソースが見つかりませんでした。何が問題なのか理解するのを助けてください私は下のコード全体を投稿しています:私はasp.net MVC 4で更新と削除を適用する必要があります

​​29887459ソリューションエクスプローラの

Index.cshtml

@model IEnumerable<MvcApplication2.Emp> 
@{ 
    ViewBag.Title = "Index"; 
} 
<h2>Index</h2> 
<p> 
    @Html.ActionLink("Create New", "Create") 
</p> 
<table> 
    <tr> 
     <th> 
      @Html.DisplayNameFor(model => model.EmployeeID) 
     </th> 
     <th> 
      @Html.DisplayNameFor(model => model.Firstname) 
     </th> 
     <th> 
      @Html.DisplayNameFor(model => model.Lastname) 
     </th> 
     <th> 
      @Html.DisplayNameFor(model => model.Age) 
     </th> 
     <th> 
      @Html.DisplayNameFor(model => model.Project) 
     </th> 
     <th> 
      @Html.DisplayNameFor(model => model.Address) 
     </th> 
     <th></th> 
    </tr> 

@foreach (var item in Model) { 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => item.EmployeeID) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Firstname) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Lastname) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Age) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Project) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Address) 
     </td> 
     <td> 
      @Html.ActionLink("Edit", "Edit", new { /*id=item.PrimaryKey */ }) | 
      @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) | 
      @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) 
     </td> 
    </tr> 
} 

</table> 

Create.cshtml

@model MvcApplication2.Emp 
@{ 
    ViewBag.Title = "Create"; 
} 
<h2>Create</h2> 
@using (Html.BeginForm()) { 
    @Html.AntiForgeryToken() 
    @Html.ValidationSummary(true) 

    <fieldset> 
     <legend>Emp</legend> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.EmployeeID) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.EmployeeID) 
      @Html.ValidationMessageFor(model => model.EmployeeID) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Firstname) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Firstname) 
      @Html.ValidationMessageFor(model => model.Firstname) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Lastname) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Lastname) 
      @Html.ValidationMessageFor(model => model.Lastname) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Age) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Age) 
      @Html.ValidationMessageFor(model => model.Age) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Project) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Project) 
      @Html.ValidationMessageFor(model => model.Project) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Address) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Address) 
      @Html.ValidationMessageFor(model => model.Address) 
     </div> 

     <p> 
      <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 
} 

<div> 
    @Html.ActionLink("Back to List", "Index") 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

Edit.cshtml

@model MvcApplication2.Emp 
@{ 
    ViewBag.Title = "Edit"; 
} 
<h2>Edit</h2> 
@using (Html.BeginForm()) { 
    @Html.AntiForgeryToken() 
    @Html.ValidationSummary(true) 

    <fieldset> 
     <legend>Emp</legend> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.EmployeeID) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.EmployeeID) 
      @Html.ValidationMessageFor(model => model.EmployeeID) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Firstname) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Firstname) 
      @Html.ValidationMessageFor(model => model.Firstname) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Lastname) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Lastname) 
      @Html.ValidationMessageFor(model => model.Lastname) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Age) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Age) 
      @Html.ValidationMessageFor(model => model.Age) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Project) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Project) 
      @Html.ValidationMessageFor(model => model.Project) 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.Address) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.Address) 
      @Html.ValidationMessageFor(model => model.Address) 
     </div> 

     <p> 
      <input type="submit" value="Save" /> 
     </p> 
    </fieldset> 
} 

<div> 
    @Html.ActionLink("Back to List", "Index") 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

画像: Solution Explorer

+0

なぜあなたはActionLinksに "ID = item.PrimaryKey" をコメントしましたか? – Ali7091

+0

あなたのアクションリンクが正しいパラメータを渡しているとは思わない –

+2

ActionLinksで "id = item.EmployeeID"を渡す必要があります – Ali7091

答えて

1

パス社員:

@Html.ActionLink("Edit", "Edit", new {id=item.EmployeeID }) | 
@Html.ActionLink("Details", "Details", new {id=item.EmployeeID }) | 
@Html.ActionLink("Delete", "Delete", new {id=item.EmployeeID }) 
0

目を追加しようあなたのActionLinksでの電子コントローラ名

@Html.ActionLink("Edit", "Edit", "CRUD", new {/*id=item.PrimaryKey */ }) | 
@Html.ActionLink("Details", "Details", "CRUD", new { /*id=item.PrimaryKey */ }) | 
@Html.ActionLink("Delete", "Delete", "CRUD", new { /*id=item.PrimaryKey */ }) 
+0

はうまくいきませんでした! –

関連する問題