@ Html.BeginForm Sayfada "System.Web.Mvc.Html.MvcForm" görüntüleniyor


98

Bir 'if' ifadesinin içine bir silme düğmesi eklediğim ve görünüm tarayıcıda işlendiğinde , silme düğmesinin yanında "System.Web.Mvc.Html.MvcForm" görüntüleyen bir jilet görünümüm var .

Ondan nasıl kurtulurum?

İşte kod:

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

İşlenmiş Razor Görünümünde nasıl göründüğü aşağıda açıklanmıştır:

System.Web.Mvc.Html.MvcForm [Silme Düğmesi]

[sil düğmesi] gerçek bir düğmemiş gibi davranın, ekran görüntüsü almak gibi bir his yok.

Yardımın için teşekkürler.

Yanıtlar:


147

Bir form oluşturmanın önerilen yolu şudur:

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

Alternatif olarak şunu yapabilirsiniz:

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

Orijinal yaklaşımınızın işe BeginForm()yaramamasının nedeni , doğrudan çıktıya yazmasıdır.


3
kullanarak @using(Html.BeginForm("deleteupdate", "home"))benim için çalıştı
Gautam Beri

28

Lütfen sorunu kullanmak yerine @ kullanın, çözülecek MVC 4 kullanıyorum

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

2

görüntü açıklamasını buraya girin

Bunun için doğru olsun onları kullanabiliriz

Using(Html.Beginform("Delete", "Home", new { Id = item.id } ))
{
   @* We right the code. *@
}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.