Как сохранить значения параметров из GET ActionResult для повторного использования в POST ActionResult? - PullRequest
2 голосов
/ 30 января 2012

Я отправляю параметры в GET ActionResult следующим образом:

public ActionResult MyFormLetter(string studentName, string teacherName, string courseName, string appointmentDate)
{    
    // Do stuff here;
}

После нажатия кнопки формы, которая вызывает POST ActionResult, эти значения выходят за рамки.Как я могу сохранить значения в GET ActionResult для повторного использования в Post ActionResult?

Спасибо за любую помощь!

Ответы [ 3 ]

2 голосов
/ 30 января 2012

У вас строго типизированное представление?у вашего представления должна быть модель, которая содержит значения из права Получить (имя студента, имя_чурнала и т. д.)

Затем в действии «Post» он может принять параметр того же класса, модель автоматически получитзначения из переменных формы (это будет автоматически сопоставлять значения со свойствами модели при любой возможности).

2 голосов
/ 30 января 2012

Для этого вы должны использовать ViewModel, а также строго типизированный View. Примерно так будет работать:

public class StudentInformation
{
    public string StudentName { get; set; }
    public string TeacherName { get; set; }
    public string CourseName { get; set; }
    public string AppointmentDate { get; set; }
}

Ваши методы действий будут выглядеть так:

public ActionResult MyFormLetter()
{
    return View();
}

[HttpPost]
public ActionResult MyFormLetter(StudentInformation studentInformation)
{
    // do what you like with the data passed through submitting the form

    // you will have access to the form data like this:
    //     to get student's name: studentInformation.StudentName
    //     to get teacher's name: studentInformation.TeacherName
    //     to get course's name: studentInformation.CourseName
    //     to get appointment date string: studentInformation.AppointmentDate
}

И немного Посмотреть код:

@model StudentInformation


@using(Html.BeginForm())
{
    @Html.TextBoxFor(m => m.StudentName)
    @Html.TextBoxFor(m => m.TeacherName)
    @Html.TextBoxFor(m => m.CourseName)
    @Html.TextBoxFor(m => m.AppointmentDate)

    <input type="submit" value="Submit Form" />
}

Когда вы достигнете метода Action из POST отправки, вы получите доступ ко всем тем данным, которые были введены в представление формы.

Отказ от ответственности: код View просто показывает необходимые элементы, чтобы показать, как данные сохраняются в модели для привязки модели.

0 голосов
/ 30 января 2012

Вы можете поместить значения в скрытые поля, чтобы они были опубликованы в вашем действии POST, затем вы можете связать их в ActionResult метода POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...