2010-03-12 9 views
1

J'ai un problème étrange qui se passe aujourd'hui. Je cours la dernière version du framework MVC V2 et je n'ai eu aucun problème - je suis arrivé ce matin et pour une raison quelconque, les valeurs ne sont pas transmises aux actions.Formulaire ASP.NET MVC 2 ne pas transmettre des valeurs

Pour clarifier laisse dire que je quelque chose comme ceci:

<% using (Html.BeginForm("Register", "Registration", FormMethod.Post)) { %> 
.... 
<input type="submit" name="register" id="register" value="Register" /> 
<% } %> 

Et dans mon contrôleur je les suivantes:

[HttpPost] 
public ActionResult Register(RegistrationModel model, string register) 
{ 
     // At this point the register string is null 
} 

Cela a fonctionné très bien pendant un certain temps maintenant et je n'ai pas changé tout ce que je peux penser à cela provoquerait que cela se produise.

Est-ce que cela a du sens et comme n'importe qui une idée de ce qui se passe ou de ce que j'ai foiré?

Merci.

+0

Votre vue est-elle fortement typée? En outre, il semble que la valeur de votre registre ne puisse apparaître que comme "Enregistrer", ou est-ce que quelque chose me manque? –

+0

La vue est fortement typée oui. Le bouton "submit" s'appelle "register" avec un r minuscule, le seul R majuscule est la valeur qui est ce que le bouton affiche comme texte. – Wayne

Répondre

1

"Rien n'a changé", Bon la plupart du code temporel ne fonctionne pas différemment juste parce que c'est vendredi au lieu de jeudi.

« Je peux penser à cela causerait »

Vous changé quelque chose, les changements annuler un par un et voir ce qui se passe.

Quelque chose doit avoir changé. Avez-vous un classeur personnalisé sur lequel vous travailliez? Avez-vous ajouté un itinéraire susceptible d'intercepter celui que vous avez publié?

+0

J'ai vu beaucoup de situations où un changement apparemment sans rapport peut être la cause d'un problème. +1 pour annuler certains changements récents et voir ce qui se passe. – Swoop

+0

Aucun changement de code n'a été fait du tout - ce sur quoi j'ai travaillé est de changer le thème - donc à cet égard la seule chose qui a changé sont les fichiers CSS. Comment cet effet serait-il soumis? – Wayne

+0

Je ne sais pas quoi dire alors. Le code ne s'éteint tout simplement pas. Tu as changé quelque chose, peut-être que tu ne t'en souviens pas. Publiez la sortie html que vous utilisez. – jfar

1

Il s'avère que je n'avais vraiment pas apporté de modifications au code. C'était en effet le thème que j'utilisais pour le site. Longue histoire courte il est venu avec un fichier JavaScript à diverses choses et caché au fond du fichier était une fonction pour habiller les boutons - une fois que j'avais enlevé cette ligne, il a très bien fonctionné.

+0

Deux choses que j'ai découvertes. 1. Impossible d'utiliser cette méthode pour les boutons d'image (c'est pourquoi la peau l'a cassé). 2. Doit avoir l'attribut 'nom' du jeu de boutons. – Rake36

Questions connexes