我正在将search
字符串从Search
操作传递到detail
操作,但是在detail
操作中收到该字符串后,结果显示为null
。
我正在使用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>());
}
答案 0 :(得分:0)
MVC按路径将变量与动作参数匹配,参数名称不一致。在重定向中,您将字符串分配给search
。但是在您的“详细信息”操作中,您正在查找名为id
的变量。您需要切换一个或另一个,以便它们使用相同的名称。