Comment transmettre des valeurs par la POSTE ASP.NET MVC 4

J'ai un problème avec la transmission de valeurs par la POSTE ASP.NET MVC 4
C'est mon action de l'Utilisateur contrôleur:

[HttpPost]
public string Show(int? uid, string uname)
{
    return uname + uid.ToString();
}

Et c'est ainsi que j'ai essayé de transmettre des valeurs en vue:

@using (Html.BeginForm("Show", "User"))
{
    Html.Hidden("uid", Model.Id);
    Html.Hidden("uname", Model.UserName);
    <input type="submit" value="+"/>
}

html:

 <form action="/User/Show" method="post"> <input type="submit" value="+"/> </form>

et:

@using(Html.BeginForm("Show", "User", FormMethod.Post, new { uid = 1, uname = "user1" }))
{
    <input type="submit" value="+"/>
}

html:

<form action="/User/Show" method="post" uid="1" uname="user1"> <input type="submit" value="+"/></form>

Dans les deux sens de l'action reçoit la valeur null à la place des valeurs réelles.

Est-il possible que les valeurs du Modèle.L'Id et le Modèle.Le nom d'utilisateur est effectivement nulle? Pouvez-vous copier-coller votre code source HTML de votre formulaire, que le rendu dans le navigateur? Probablement peu probable, mais juste pour vérifier.
C'est impossible parce que j'ai aussi essayé avec codé en dur variables. <form action="/User/Show" method="post"> <input type="submit" value="+"/> </form><form action="/User/Show" method="post" uid="1" uname="user1"> <input type="submit" value="+"/>
Je suis confus. Je ne vois pas caché champs de saisie. Aussi, pouvez-vous ajouter votre source pour le corps principal de votre question.
Si vous le savez, vous ne pouvez pas ajouter des attributs à la <form> balise comme ça, la bonne méthode est <input type="hidden" name="uid" value="1" /> etc

OriginalL'auteur user3321042 | 2014-02-17