@ Html.BeginForm Відображення "System.Web.Mvc.Html.MvcForm" на сторінці


97

У мене є вигляд бритви, що я додав кнопку видалення до внутрішньої частини оператора "якщо", і коли представлення відображається в браузері, біля кнопки видалення відображається "System.Web.Mvc.Html.MvcForm" .

Як я його позбудуся?

Ось код:

<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>

Ось, як це відображається у виведеному вигляд Бритви:

System.Web.Mvc.Html.MvcForm [Кнопка видалення]

зробіть вигляд, що [кнопка видалення] - це фактична кнопка, не відчуваючи, як знімати екран.

Дякую за твою допомогу.

Відповіді:


147

Рекомендований спосіб створення форми є наступним:

<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>

Можна також зробити це:

<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>

Причина, чому ваш оригінальний підхід не спрацював, полягає в тому, що BeginForm()пише безпосередньо на вихід.


3
використовуючи @using(Html.BeginForm("deleteupdate", "home"))працював для мене
Гаутам Бері

27

Будь ласка, використовуйте @using замість використання проблеми буде вирішено Я використовую MVC 4

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.