FormExtensions.BeginForm Method (HtmlHelper, String, String, RouteValueDictionary, FormMethod, IDictionary(Of String, Object))
Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values from the route value dictionary. The form uses the specified HTTP method, and includes the HTML attributes from the dictionary.
Namespace: System.Web.Mvc.Html
Assembly: System.Web.Mvc (in System.Web.Mvc.dll)
'Declaration <ExtensionAttribute> _ Public Shared Function BeginForm ( _ htmlHelper As HtmlHelper, _ actionName As String, _ controllerName As String, _ routeValues As RouteValueDictionary, _ method As FormMethod, _ htmlAttributes As IDictionary(Of String, Object) _ ) As MvcForm 'Usage Dim htmlHelper As HtmlHelper Dim actionName As String Dim controllerName As String Dim routeValues As RouteValueDictionary Dim method As FormMethod Dim htmlAttributes As IDictionary(Of String, Object) Dim returnValue As MvcForm returnValue = htmlHelper.BeginForm(actionName, _ controllerName, routeValues, method, _ htmlAttributes)
Parameters
- htmlHelper
- Type: System.Web.Mvc.HtmlHelper
The HTML helper instance that this method extends.
- actionName
- Type: System.String
The name of the action method.
- controllerName
- Type: System.String
The name of the controller.
- routeValues
- Type: System.Web.Routing.RouteValueDictionary
An object that contains the parameters for a route.
- method
- Type: System.Web.Mvc.FormMethod
The HTTP method for processing the form, either GET or POST.
- htmlAttributes
- Type: System.Collections.Generic.IDictionary(Of String, Object)
An object that contains the HTML attributes to set for the element.
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 https://msdn.microsoft.com/en-us/library/bb384936(v=vs.118).aspx or https://msdn.microsoft.com/en-us/library/bb383977(v=vs.118).aspx.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");
var attributes = new Dictionary<string, object>();
attributes.Add("Id", "Form1");
}
@using (Html.BeginForm("Login", "Account", routeValues, FormMethod.Post, attributes))
{
@Html.TextBox("Name");
@Html.Password("Password");
<input type="submit" value="Sign In">
}
// Produces the following form element
// <form Id="Form1" action="/Account/Login?UserId=5" action="post">
Show: