@ Html BeginForm แสดง“ System.Web.Mvc.Html.MvcForm” บนหน้า


98

ฉันมีมุมมองใบมีดโกนที่ฉันเพิ่มปุ่มลบไว้ในคำสั่ง '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 [ปุ่มลบ]

แสร้งทำเป็นว่า [ปุ่มลบ] เป็นปุ่มจริงไม่รู้สึกเหมือนกำลังถ่ายภาพหน้าจอ

ขอขอบคุณสำหรับความช่วยเหลือของคุณ.

คำตอบ:


147

วิธีที่แนะนำในการสร้างแบบฟอร์มมีดังต่อไปนี้:

<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()เขียนลงในเอาต์พุตโดยตรง


3
การใช้@using(Html.BeginForm("deleteupdate", "home"))งานสำหรับฉัน
Gautam Beri

28

โปรดใช้ @using แทนการใช้ปัญหาจะได้รับการแก้ไขฉันกำลังใช้ MVC 4

@using(Html.BeginForm("deleteupdate", "home"))
{
    @Html.Hidden("returnUrl", Request.Url.ToString())
    <button name="id" value="@update.StatusUpdateId">Delete</button>
}

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.