我有一个 Razor View ,我在“if”语句内部添加了一个删除按钮,当该 View 在浏览器中呈现时,它显示“System.Web.Mvc.Html.MvcForm”删除按钮旁边的strong>。
如何摆脱它?
这是代码:
<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 View 中的显示方式:
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()
直接写入输出。
关于asp.net-mvc-3 - @Html.BeginForm 在页面上显示 "System.Web.Mvc.Html.MvcForm",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975354/