Как отправить значение textBox по POST - PullRequest
0 голосов
/ 30 апреля 2011

Я использую Html.BeginForm и пытаюсь передать введенное значение textBox «archName» в пост. Как я могу это сделать?Я имею в виду, что я должен добавить вместо "someString"?

<% using (Html.BeginForm("addArchive", "Explorer", new { name = "someString" }, FormMethod.Post)) { %> 
    <%=  Html.TextBox("archName")%>

1 Ответ

1 голос
/ 30 апреля 2011

Имя, на которое вы ссылаетесь, является атрибутом имени элемента 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();
}
...