Как отправить значение textBox по POST
Я использую Html.BeginForm и пытаюсь передать введенное значение textBox "archName" в пост. Как я могу это сделать? Я имею в виду, что я должен добавить вместо "someString"?
<% using (Html.BeginForm("addArchive", "Explorer", new { name = "someString" }, FormMethod.Post)) { %>
<%= Html.TextBox("archName")%>
1 ответ
Решение
Имя, на которое вы ссылаетесь, является атрибутом имени элемента HTML формы, а не публикуемыми значениями. На вашем контроллере вы можете получить доступ несколькими способами.
Без параметров в методе контроллера:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult addArchive()
{
string archName = HttpContext.Reqest.Form["archName"]
return View();
}
С FormCollection
в качестве параметра в методе контроллера:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult addArchive(FormCollection form)
{
string archName = form["archName"];
return View();
}
С некоторой моделью привязки:
//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();
}