Asp.net-Mvc-3

@Html.BeginForm 在頁面上顯示“System.Web.Mvc.Html.MvcForm”

  • February 12, 2011

我有一個剃刀視圖,我在“if”語句中添加了一個刪除按鈕,當視圖在瀏覽器中呈現時,它在刪除按鈕旁邊顯示**“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 視圖中的顯示方式:

System.Web.Mvc.Html.MvcForm [刪除按鈕]

假裝 [delete button] 是一個實際的按鈕,不想截屏。

謝謝您的幫助。

生成表單的推薦方法如下:

<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()直接寫入輸出。

引用自:https://stackoverflow.com/questions/4975354