asp.net-mvc-3 - @Html.BeginForm 在页面上显示 "System.Web.Mvc.Html.MvcForm"

标签 asp.net-mvc-3 razor html.beginform

我有一个 Razor View ,我在“if”语句内部添加了一个删除按钮,当该 View 在浏览器中呈现时,它显示“System.Web.Mvc.Html.MvcForm”

如何摆脱它?

这是代码:

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

相关文章:

asp.net-mvc-3 - 将电子表格嵌入 ASP.NET MVC 3 页面

ASP.NET MVC3 TryValidateModel 验证整个模型集合,而不仅仅是单个实例

asp.net-mvc-3 - HTML编码字符串-ASP.NET Web窗体VS Razor View 引擎

javascript - 加载时无法检测选择/下拉列表选择事件

html - CSS 导航菜单中的事件页面带有 MVC3 中悬停效果的背景图像

asp.net-mvc - ASP.NET MVC,将模型从 View 传递到 Controller

ASP.NET MVC - 在生产中更新预编译的 Razor View 文件

c# - 如何在 MVC 3 中获取当前页面 URL

asp.net-mvc-3 - 为什么Html.BeginForm会生成空 Action ?