Привязка модели с использованием ASP.NET MVC, получение данных в контроллер - PullRequest
0 голосов
/ 29 апреля 2010

Довольно простой здесь, ребята.

У меня есть вид, который содержит 2 текстовых поля для ввода и кнопку отправки

<%using (Html.BeginForm("DateRetrival", "Home", FormMethod.Post)){ %>    
<%=Html.TextBox("sday")%>  
<%=Html.TextBox("eday")%>
<input type="submit" value="ok" id="run"/>
<% }%>

следующее действие контроллера, которое я хочу связать с вводом данных, выглядит следующим образом

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult DateRetrival()
    {
        return View();
    }


    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(string submit)
    {


        return null;
    }

Когда я отлаживаю это и смотрю в параметре методов действия, значение равно нулю. Когда я ввел значения в оба текстовых поля и щелкнул метод отправки.

Ответы [ 3 ]

2 голосов
/ 29 апреля 2010

Попробуйте:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DateRetrival(string sday, string eday, string submit)
{
    return null;
}

и если вы хотите значение кнопки sumbit

<input type="submit" value="ok" id="run" name="submit"/>

Если вы хотите опубликовать значение, необходимо установить атрибут name. Html.TextBox автоматически устанавливает имя из параметра.

2 голосов
/ 29 апреля 2010

Вы, вероятно, хотите сделать что-то вроде этого:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(string sday, string eday)
    {

        return null;
    }

В идеале, хотя вы, вероятно, хотите передать модель своим контроллерам:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(DateModel dates)
    {
        var date1 = dates.sday;
        var date2 = dates.eday;
        return null;
    }

См. http://msdn.microsoft.com/en-us/library/dd394711.aspx

2 голосов
/ 29 апреля 2010

Добавить параметры для перехвата каждого значения поля ввода.

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DateRetrival(string sday, string eday)
{
    return null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...