2010-09-07 13 views
0

J'ai la base de données sql server, c'est-à-dire la table User. Je veux créer l'utilisateur à travers l'application asp.net MVC. J'ai l'application basée sur la version d'asp.net MVC 2. J'ai ajouté le contrôleur en tant que UsersController, crée également la vue en tant qu'utilisateurs. Le UsersController ayant les méthodes Créer, Index, delete..so sur .. Pour prendre les entrées de l'interface utilisateur ce que je dois être le faire? et si il génère la méthode Create en prenant les paramètres FormCollection (surcharges), alors comment exécuter cette méthode?comment asp.net MVC 2 exécute les actions?

Répondre

0

est ici une approche. Ajouter un bouton soumettre à votre formulaire:

<button type="submit" value="Submit">ButtonText</button> 

ou

<input type="submit" value="ButtonText" /> 

Créer une surcharge de la méthode Create:

[HttpGet] 
    public ActionResult Create() 
    { 
     ... 
    } 

    [HttpPost] 
    public ActionResult Create(FormCollection collection) 
    { 
     ... 
    } 

Les attributs (HttpGetAttribute et HttpPostAttribute) laisser le cadre connaître la la première méthode doit être invoquée pour une requête get et la seconde pour une requête post.

maintenant obtenir les valeurs dans le FormCollection est assez simple:

var value = collection["key"]; 
+0

'HttpGet' attribut peut facilement être omis s'il y a seulement deux actions avec le même nom (donc seul à avoir un attribut sélecteur d'action sur eux - à savoir' HttpPost').Mais vous avez plusieurs actions avec différents sélecteurs d'action (comme deux pour les utilisateurs anonymes et deux pour les authentifiés) alors tous devraient avoir ces attributs sur eux. –

0

Vous n'appelez pas la méthode Create directement. Le Create Voir présentera un HttpPost au serveur et ASP.NET transmettra la demande à la méthode Create qui a l'attribut HttpPost.

Voici un lien vers la execution process in MVC2 Il y a aussi beaucoup d'autres tutoriels etc sur ce site (www.asp.net/mvc)

0

le

[HttpPost] 
public ActionResult Create(FormCollection abc) 

seront appelés lorsque vous soumettez votre forme.

1

actions MVC sont gérées en fonction de vos enregistrements d'itinéraire.

Par exemple:

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults 
); 

Dans le cas de la route par défaut qui est livré avec MVC, si vous accédez/Utilisateurs/Créer/dans le navigateur, les routes MVC ce au contrôleur des utilisateurs et exécute ensuite le Create() action. L'identifiant ne sera pris en compte que si vous faites quelque chose comme/Users/Edit/1234.

Vos actions peuvent utiliser l'attribut [HttpPost] pour indiquer qu'il reçoit des données d'un POST Http entrant. Vous pouvez alors faire tout ce que vous voulez avec les données (base de données persistent à etc.):

[HttpPost] 
public ActionResult Create(FormCollection form) 
{ 
    /* do something to form values */ 
} 

Dépasser concept de routes et les contrôleurs (selon ASP.NET MVC) nécessiterait un tutoriel sur lui-même. Pourquoi n'essaies-tu pas de passer par le Nerddinner project? Nerddiner est un projet Open Source ASP.NET MVC que vous pouvez parcourir pour comprendre les concepts et les spécificités d'implémentation de ASP.NET MVC.