@using (Html.BeginForm()) { @wb.Ge" />

MVC, Html.ActionLink, WebGrid, Linq, модель, вид, контроллер

asp.net-mvc actionlink

176 просмотра

1 ответ

У меня есть (webgrid), что он имеет поле для удаления с (Html.ActionLink), теперь я хочу вернуть значение id (переменная linkDelete) в контроллер, но он имеет ошибку.

Посмотреть:

<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");
}        
Автор: Azadeh Источник Размещён: 08.11.2019 11:26

Ответы (1)


0 плюса

Ваше имя параметра метода удаления - linkDelete. Но когда вы создаете ссылку, используя Html.ActionLink, вы передаете параметр с именем ID!

Измените его, чтобы он соответствовал вашей подписи метода.

Html.ActionLink("امحاء", "Delete", new { linkDelete = item.ID });
Автор: Shyju Размещён: 20.08.2016 04:17
Вопросы из категории :
32x32