@ Html.BeginForm affichant «System.Web.Mvc.Html.MvcForm» sur la page

J’ai une vue de razor que j’ai ajouté un bouton de suppression à l’intérieur d’une instruction ‘if’ et lorsque la vue est rendue dans le navigateur, elle affiche «System.Web.Mvc.Html.MvcForm» à côté du bouton de suppression.

Comment puis-je m’en débarrasser?

Voici le code:

@if (update.User.UserName.Equals(User.Identity.Name, SsortingngComparison.OrdinalIgnoreCase)) { @Html.BeginForm("deleteupdate", "home") @Html.Hidden("returnUrl", Request.Url.ToSsortingng()) }

Voici comment cela apparaît dans la vue de razor rendue:

System.Web.Mvc.Html.MvcForm [Bouton Supprimer]

prétendre que [bouton Supprimer] est un bouton réel, n’a pas l’impression de prendre une capture d’écran.

Merci de votre aide.

La méthode recommandée pour générer un formulaire est la suivante:

 
@if (update.User.UserName.Equals(User.Identity.Name, SsortingngComparison.OrdinalIgnoreCase)) { using(Html.BeginForm("deleteupdate", "home")) { @Html.Hidden("returnUrl", Request.Url.ToSsortingng()) } }

Sinon, vous pouvez le faire:

 
@if (update.User.UserName.Equals(User.Identity.Name, SsortingngComparison.OrdinalIgnoreCase)) { Html.BeginForm("deleteupdate", "home"); @Html.Hidden("returnUrl", Request.Url.ToSsortingng()) Html.EndForm(); }

La raison pour laquelle votre approche d’origine n’a pas fonctionné est que BeginForm() écrit directement dans la sortie.

S’il vous plaît utiliser @using au lieu d’utiliser le problème sera résolu J’utilise MVC 4

 @using(Html.BeginForm("deleteupdate", "home")) { @Html.Hidden("returnUrl", Request.Url.ToSsortingng())  } 

entrer la description de l'image ici

Avoir raison pour cela, nous pouvons les utiliser

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