How to pass parameters to Html.BeginForm(action, controller)

17.7k views Asked by At

View

@using (Html.BeginForm())
{
    <input name= "number1" /><br />
    <input type="submit"/>
}

Contoller

[HttpPost]
public ActionResult GetNumber(int number1)
{
}

works fine whereas the following code

View

@using (Html.BeginForm("SomeAction","SomeContoller"))
{
    <input name= "number1" /><br />
    <input type="submit"/>
}

Controller

[HttpPost]
public ActionResult SomeAction(int number1)
{
}

is not working. I tried without the parameter its working then, but i am not able to get the value for number1 to this contoller. How would I do that?.

Thanks for your answer :)

3

There are 3 answers

0
Vasyl Korzhyk On

Try this:

    @using (Html.BeginForm("SomeAction","SomeControler",new {number1 = 1}, FormMethod.Post))
    {                 
            <input type="submit" value="Submit" />
    }
0
user3111579 On

Do you use for controller name parameter something like "HomeController" or just "Home"? Because i think that only the prefix should be there.

@using (Html.BeginForm("MyAction", "Home"))
{
    <input name= "number1" /><br />
    <input type="submit"/>
}
1
Stef Heyenrath On

Use <input id="number1" /> ?