提问者:小点点

ASP.NET MVC 2-传递给delete方法控制器的对象为空


我正试图从数据库中删除一个条目。这是我的控制器方法:

   public ActionResult Delete(Models.CommentEntry entry)
    {
        _db.Entries.Remove(entry);
        _db.SaveChanges();
        return RedirectToAction("Index");
    }

这是我的.cshtml:

         @foreach (var entry in ViewBag.Entries)
            {
                <section class="contact">
                    <header>
                        <h3>@entry.Message</h3>
                    </header>
                    <p>
                        Posted by @entry.Name on @entry.DateAdded.ToLongDateString()
                    </p>
                </section>
                <form method="post" action="Delete">
                    <input type="submit" value="Delete" class="btn btn-danger" />
                </form>
            }

正如您所看到的,对象不会被传递,并且总是有初始值,因此我得到了一个转储。我的错在哪里?

谢谢.


共1个答案

匿名用户

这个问题没有错

<section class="contact">
                <header>
                    <h3>@entry.Message</h3>
                </header>
                <p>
                    Posted by @entry.Name on @entry.DateAdded.ToLongDateString()
                </p>
                 <form method="post" action="Delete"><!-- must have name and value input for form tag -->
            </section>
                <input type="submit" value="Delete" class="btn btn-danger" />
            </form>

请阅读https://www.w3schools.com/tags/tag_form.asp