2016-08-20 7 views
0

私は(Html.ActionLink)で削除フィールドを持っている(webgrid)、今私はコントローラに戻りid値(linkDelete変数)それはエラーがあります。MVC、Html.ActionLink、WebGrid、Linq、モデル、ビュー、コントローラ

ビュー:

<div id="tblGrid"> 
    @using (Html.BeginForm()) 
    { 
     @wb.GetHtml(tableStyle: "gTable", columns: 
      wb.Columns(wb.Column("کد", format: (item) => item.GetSelectLink(item.Id.ToString())), 
       wb.Column("Date", "تاریخ"), 
       wb.Column("Name", "نام"), 
       wb.Column("Email", "ایمیل"), 
       wb.Column("Tel", "تلفن"), 
       wb.Column("Status", "وضعیت بررسی"), 
       wb.Column(header: "ویرایش", format: (item) => 
       { 
        var linkEdit = Html.ActionLink("تغییر", "Edit", new { ID = item.ID }); 
        return linkEdit; 
       }), 
       wb.Column(header: "حذف", format: (item) => 
       { 
        var linkDelete = Html.ActionLink("امحاء", "Delete", new { ID = item.ID }); 
        return linkDelete; 
       }) 
      ) 
     ) 
    } 

コントローラー:

public ActionResult Delete(int linkDelete) 
{ 
    var m = db.Contacts.First(j => j.ID == linkDelete); 
    db.Contacts.DeleteOnSubmit(m); 
    db.SubmitChanges(); 
    return RedirectToAction("Index"); 
}   
+0

model-view-controllerタグはパターンについての質問です。 ASP.NET-MVCの実装には特定のタグがあります。 –

答えて

0

あなたのdeleteメソッドのパラメータ名はlinkDeleteです。しかし、Html.ActionLinkを使ってリンクを構築するときは、IDというパラメータを渡しています!

メソッドの署名と一致するように変更します。

Html.ActionLink("امحاء", "Delete", new { linkDelete = item.ID }); 
+0

エラーは:リソースが見つかりません。 説明:HTTP 404。探しているリソース(またはその依存関係の1つ)が削除されているか、名前が変更されているか、一時的に使用できない可能性があります。次のURLを確認し、正しく入力されていることを確認してください。 リクエストされたURL:/ Admin/Dashboard/Delete – Azadeh

+0

管理領域のダッシュボードコントローラにこの削除アクションメソッドがありますか? – Shyju

+0

はい、パスiz:http:// localhost:1919 /管理者/ダッシュボード/インデックス – Azadeh

関連する問題