2011-12-03 48 views
0

我正在將搜索字符串從搜索動作傳遞給詳細動作,但在收到詳細動作後它變爲空。從一個動作傳遞字符串到其他控制器中的其他字符

我使用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

你應該使用:

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

只使用返回RedirectToAction( 「詳細信息」,新{ID = search.Trim()}); –

+0

謝謝@SreenathPlakkat,@Romias !!它現在的工作:) – 14578446

0

你應該能夠只返回詳情(),因爲你是在同一個控制器,它返回一個ActionResult。

相關問題