How can I use Html.BeginForm in a user helper?

So, I'm trying to convert this razor syntax into a .cshtml view into a helper extension in .cs. There is an amazing post Darin: qaru.site/questions/1381950 / ... . However, I am having problems getting it to work.

This is a simple markup.

@using (Html.BeginForm("Restore", "GlobalCrud"))
{
 @Html.Hidden("entityId", "Id")
 <input class="ui-icon ui-icon-power" type="submit" 
  onclick="return confirm('Clicking OK will restore this record');" 
 />
}

This is an extension

public static MvcHtmlString EditOrDelete(this HtmlHelper html)
{
  var s = html.BeginForm();
  return MvcHtmlString.Create(s + " additional fields " + "</form>");
}

This usage:

@using namespace.CustomHelper
@Html.EditOrDelete()

This is the conclusion:

<form method="post" action="/Completed/Manage">
System.Web.Mvc.Html.MvcForm additional fields 
</form>

, . , , html. System.Web.Mvc.Html.MvcForm . " additional fields " , . </form> , , using, @Html.BeginForm(), </form>, .

, .BeginForm?

+3
2
public static class HtmlExtensions
{
    public static void EditOrDelete(this HtmlHelper html)
    {
        using (html.BeginForm())
        {
            html.ViewContext.Writer.Write("additional fields");
        }
    }
}

:

@using namespace.CustomHelper
@{Html.EditOrDelete();}

:

<form action="/" method="post">additional fields</form>
+5

BeginForm , , .

public static MvcHtmlString EditOrDelete(this HtmlHelper html)
{
    using(html.BeginForm())
    {
        return MvcHtmlString.Create(" additional fields ");
    }
}

a >

using .Dispose() , . , html.ViewContext.Writer.Write. (. )

, Dispose.

0

All Articles