@ Html.BeginForm Hiển thị “System.Web.Mvc.Html.MvcForm” trên Trang


97

Tôi có một chế độ xem dao cạo mà tôi đã thêm nút xóa vào bên trong câu lệnh 'if' và khi chế độ xem được hiển thị trong trình duyệt, nó sẽ hiển thị "System.Web.Mvc.Html.MvcForm" bên cạnh nút xóa.

Làm sao để tôi bỏ nó đi?

Đây là mã:

<div id="deletestatusupdate">
    @if (update.User.UserName.Equals(User.Identity.Name, StringComparison.OrdinalIgnoreCase))
    {
        @Html.BeginForm("deleteupdate", "home")
        @Html.Hidden("returnUrl", Request.Url.ToString())
        <button name="id" value="@update.StatusUpdateId">Delete</button>
    }
</div>

Đây là cách nó hiển thị trong Chế độ xem Razor được kết xuất:

System.Web.Mvc.Html.MvcForm [Nút xóa]

giả vờ rằng [nút xóa] là một nút thực tế, không giống như đang chụp ảnh màn hình.

Cảm ơn sự giúp đỡ của bạn.

Câu trả lời:


147

Cách đề xuất để tạo biểu mẫu là như sau:

<div id="deletestatusupdate">
    @if (update.User.UserName.Equals(User.Identity.Name, StringComparison.OrdinalIgnoreCase))
    {
        using(Html.BeginForm("deleteupdate", "home"))
        {
            @Html.Hidden("returnUrl", Request.Url.ToString())
            <button name="id" value="@update.StatusUpdateId">Delete</button>
        }
    }
</div>

Ngoài ra, bạn có thể làm điều này:

<div id="deletestatusupdate">
    @if (update.User.UserName.Equals(User.Identity.Name, StringComparison.OrdinalIgnoreCase))
    {
        Html.BeginForm("deleteupdate", "home");
        @Html.Hidden("returnUrl", Request.Url.ToString())
        <button name="id" value="@update.StatusUpdateId">Delete</button>
        Html.EndForm();
    }
</div>

Lý do tại sao cách tiếp cận ban đầu của bạn không hoạt động là vì BeginForm()ghi trực tiếp vào đầu ra.


3
sử dụng @using(Html.BeginForm("deleteupdate", "home"))làm việc cho tôi
Gautam Beri

27

Vui lòng sử dụng @using thay vì sử dụng vấn đề sẽ được giải quyết Tôi đang sử dụng MVC 4

@using(Html.BeginForm("deleteupdate", "home"))
{
    @Html.Hidden("returnUrl", Request.Url.ToString())
    <button name="id" value="@update.StatusUpdateId">Delete</button>
}

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.