「if」ステートメントの内部に削除ボタンを追加したかみそりのビューがあり、ビューがブラウザーで表示されるときに表示されます"System.Web.Mvc.Html.MvcForm" next削除ボタンに。
どうすればそれを取り除くことができますか?
コードは次のとおりです。
<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>
レンダリングされたRazorビューでの表示方法は次のとおりです
System.Web.Mvc.Html.MvcForm[削除ボタン]
[ボタンの削除]は実際のボタンであるように見せかけ、スクリーンショットを撮る気はしませんでした。
ご協力ありがとうございました。
フォームを生成する推奨方法は次のとおりです。
_<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()
が出力に直接書き込むためです。
MVC 4を使用していますが解決される問題を使用する代わりに@usingを使用してください
@using(Html.BeginForm("deleteupdate", "home"))
{
@Html.Hidden("returnUrl", Request.Url.ToString())
<button name="id" value="@update.StatusUpdateId">Delete</button>
}