2010-01-14 8 views
0

Peut être aussi simple que cela. Mais, j'ai du mal à le comprendre.comment passer Html.TextBox au contrôleur?

J'ai un contrôleur avec différentes actions qui appelle le code DB et le résultat de retour. Je veux passer la valeur de la zone de texte à différentes actions dans le contrôleur.

Comment le faire? Je le sais, je peux transmettre des valeurs en utilisant la forme. Mais, je ne sais pas comment appeler différentes actions dans le contrôleur à partir d'une seule vue.

Répondre

0

Je ne suis pas sûr de ce que la langue ou le cadre que vous utilisez, mais dans les ID de contrôle d'entrée ASP.NET MVC carte sur les paramètres d'action, donc si vous avez une zone de texte:

<input type="text" name="firstName" id="firstName/> 

Puis, quand cette forme est portée à votre action, le cadre passe la valeur du champ de saisie des données POST en faisant correspondre avec le paramètre d'action:

public ActionResult UpdateUser(string firstName) 
{ 
    User user = UserManager.UpdateUser(this.CurrentUserId, firstName); 
    return View(user); 
} 
+0

Désolé. J'utilise MVC. Si j'utilise le formulaire, je ne sais pas comment appeler une action différente à partir de la même vue. – sam26092004

0

juste eu le même problème et ont réglé. Le nom de l'argument de chaîne dans Html.TextBox doit correspondre au paramètre dans la méthode du contrôleur, sinon les paramètres du contrôleur finissent par être null. exemple:

Dans la vue -

<%= Html.TextBox("value") %> // argument is named "value" 

La méthode du contrôleur -

[HttpPost] 
public ActionResult ControllerName(string value) // parameter named the same as argument 
{ //code here } 
0

Je regardais et trouvé cette question. Si ces options ne fonctionnait pas, vous pouvez peut-être essayer

Requst["value"] 

dans votre contrôleur

Questions connexes