将字符串从同一个控制器中的一个动作传递到另一个动作

本文关键字:一个 另一个 同一个 字符串 控制器 | 更新日期: 2023-09-27 18:16:27

我正在将搜索字符串从搜索操作传递到详细操作,但在收到详细操作时,结果是空的。

我正在使用MVC3和。net框架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>());
}

将字符串从同一个控制器中的一个动作传递到另一个动作

你应该使用:

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

你应该能够只返回Details(),因为你是在同一个控制器,它返回一个ActionResult