【问题标题】:pass string from one action to other in same controller在同一控制器中将字符串从一个动作传递给另一个动作
【发布时间】:2011-12-03 00:10:09
【问题描述】:

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

我正在使用 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>());
}

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-3-areas


    【解决方案1】:

    你应该使用:

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

    【讨论】:

    • 只使用 return RedirectToAction("Details", new { id = search.Trim() });
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多