Piszę aplikację w ASP.NET MVC 4.
Mam kontroler User a w nim metodę Show, która przyjmuje dwa argumenty: nullable int i string.
[HttpPost]
public string Show(int? uid, string uname)
{
return uname + uid.ToString();
}
Chcę za pomocą posta przekazywać wartości do tej metody. Problem polega na tym, że jakkolwiek nie próbuję to nie jestem w stanie tego zrobić.
Pokażę dwa sposoby (wzięte z przykładów z książek), które próbowałem.
Sposób pierwszy
@using (Html.BeginForm("Show", "User"))
{
Html.Hidden("uid", Model.Id);
Html.Hidden("uname", Model.UserName);
<input type="submit" value="+"/>
}
Problem: do metody trafiają nulle.
Sposób drugi
using(Html.BeginForm("Show", "User", FormMethod.Post, new { uid = 1, uname = "user1" }))
{
<input type="submit" value="+"/>
}
Problem: Razor generuje mi taki kod
<form action="/User/Show" method="post" uid="1" uname="user1"> <input type="submit" value="+"/>
A do tego do metody trafiają nulle.