Como enviar valor textBox por POST
-
27-10-2019 - |
Pergunta
Estou usando o Html.BeginForm e tentando passar o valor fornecido do textBox "archName" para a postagem, como posso fazer isso? Quer dizer, o que devo adicionar em vez de "someString"?
<% using (Html.BeginForm("addArchive", "Explorer", new { name = "someString" }, FormMethod.Post)) { %>
<%= Html.TextBox("archName")%>
Solução
O nome ao qual você está se referindo é o atributo name do elemento HTML do formulário, não os valores postados.No seu controlador, você pode acessar algumas maneiras.
Sem parâmetro no método do controlador:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult addArchive()
{
string archName = HttpContext.Reqest.Form["archName"]
return View();
}
Com o FormCollection
como parâmetro no método do controlador:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult addArchive(FormCollection form)
{
string archName = form["archName"];
return View();
}
Com alguma ligação de modelo:
//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();
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow