@if (item.UserId == User.Identity.GetUserId().AsInt())
{
using (Html.BeginForm("Delete", "Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(m => item.Id)
}
}
Вот сам вид в html view
[HttpPost]
[Authorize]
public ActionResult Delete(int Id)
{
var session = NHibernateHelper.GetCurrentSession();
try
{
using (var transaction = session.BeginTransaction())
{
DBNewsItem newItem = new DBNewsItem();
newItem.Id = Id;
session.Delete(newItem);
transaction.Commit();
}
}
finally
{
NHibernateHelper.CloseSession();
}
return RedirectToAction("Index", "Home");
}
А вот контроллер, который должен принимать id. Почему ему ничего не приходит?
Ответ
Переделал вьюшку под
@Html.Hidden("Id", item.Id)
Потом передал через пост в контроллер
public ActionResult Delete(int id){...}
На прямую, через имя, обращаюсь Item.Id
Комментариев нет:
Отправить комментарий