Comment envoyer valeur textBox par POST
-
27-10-2019 - |
Question
J'utilise Html.BeginForm et en essayant de passer la valeur de la zone de texte fournie « archname » au poste, Comment puis-je faire cela? Je veux dire que dois-je ajouter au lieu de « someString »?
<% using (Html.BeginForm("addArchive", "Explorer", new { name = "someString" }, FormMethod.Post)) { %>
<%= Html.TextBox("archName")%>
La solution
Le nom que vous faites référence est l'attribut name de l'élément HTML forme, pas les valeurs affichées. Sur vous contrôleur, vous pouvez accéder à quelques façons.
En l'absence de paramètre dans la méthode du contrôleur:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult addArchive()
{
string archName = HttpContext.Reqest.Form["archName"]
return View();
}
Avec la FormCollection
en tant que paramètre dans la méthode du contrôleur:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult addArchive(FormCollection form)
{
string archName = form["archName"];
return View();
}
Avec un certain modèle de liaison:
//POCO
class Archive
{
public string archName { get; set; }
}
//View
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Namespace.Archive>" %>
<%= Html.TextBoxFor(m => m.archName) %>
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult addArchive(Archive arch)
{
string archName = arch.archName ;
return View();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow