передать строку от одного действия другому в том же контроллере - PullRequest
0 голосов
/ 03 декабря 2011

Я передаю строку поиска из действия «Поиск» в действие «подробно», но при получении действия «подробно» оно оказывается нулевым.

Я использую MVC3 и .NET Framework 4.0:

public ActionResult Search(string search)
{
    if (string.IsNullOrEmpty(search))
        return RedirectToAction("Index");

    return RedirectToAction("Details", "Invoice", search = search.Trim());
}

public ActionResult Details(string id)
{
    if (string.IsNullOrEmpty(id))
        return RedirectToAction("Index");

    ObjectParameter[] parameters = new ObjectParameter[3];
    parameters[0] = new ObjectParameter("CUSTNMBR", id);
    parameters[1] = new ObjectParameter("StartDate", System.DateTime.Now.Date.AddDays(-90));
    parameters[2] = new ObjectParameter("EndDate", System.DateTime.Now.Date);

    return View(_db.ExecuteFunction<Models.Invoices>("uspGetCustomerInvoices", parameters).ToList<Models.Invoices>());
}

Ответы [ 2 ]

0 голосов
/ 03 декабря 2011

Вы должны использовать:

return RedirectToAction("Details", "Invoice", new { id = search.Trim() });
0 голосов
/ 03 декабря 2011

Вы должны иметь возможность просто вернуть Details (), поскольку вы находитесь в одном контроллере, и он возвращает ActionResult.

...