FormExtensions.BeginForm Method (HtmlHelper, RouteValueDictionary)

Writes an opening <form> tag to the response and includes the route values from the route value dictionary in the action attribute. The form uses the POST method, and the request is processed by the action method for the view.

Namespace:  System.Web.Mvc.Html
Assembly:  System.Web.Mvc (in System.Web.Mvc.dll)

public static MvcForm BeginForm(
	this HtmlHelper htmlHelper,
	RouteValueDictionary routeValues


Type: System.Web.Mvc.HtmlHelper
The HTML helper instance that this method extends.
Type: System.Web.Routing.RouteValueDictionary
An object that contains the parameters for a route.

Return Value

Type: System.Web.Mvc.Html.MvcForm
An opening <form> tag.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type HtmlHelper. When you use instance method syntax to call this method, omit the first parameter. For more information, see or

The BeginForm method renders a form that will be handled by a controller action method.

You can use this method in a using block. In that case, the method renders the closing </form> tag at the end of the using block.

The following example shows how to use this form of the method.

    var routeValues = new RouteValueDictionary();
    routeValues.Add("UserId", "5");
@using (Html.BeginForm(routeValues))
    <input type="submit" value="Sign In">
// Produces the following form element
// <form action="/Original Controller/Original Action?UserId=5" action="post">