@ Html.BeginForm在页面上显示“System.Web.Mvc.Html.MvcForm”
我有一个剃刀视图,我添加了一个“if”语句的内部删除button,当浏览器呈现视图时,它显示“System.Web.Mvc.Html.MvcForm”旁边的删除button。
我如何摆脱它?
这里是代码:
<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 [删除button]
假装[删除button]是一个实际的button,不觉得就像一个屏幕截图。
感谢您的帮助。
生成表单的build议方法如下:
<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()
直接写入输出。
请使用@using而不是使用问题将解决我正在使用MVC 4
@using(Html.BeginForm("deleteupdate", "home")) { @Html.Hidden("returnUrl", Request.Url.ToString()) <button name="id" value="@update.StatusUpdateId">Delete</button> }