2011-03-15 69 views
1

如果我有以下幾點:如何處理RedirectToAction中的MVC字符串數組?

 [HttpPost] 
     public ActionResult DeclineClaims(String button, String[] Decline) 
     { 
      if (button == "claim") 
      { 
       return RedirectToAction("NewExpense", "Claim", new { Create = Decline }); 
      } 

      .... 
      .... 
     } 

,並通過這裏的RedirectToAction接受它:

 public ActionResult NewExpense(String[] Create) 
     { 
      ... 
     } 

在第二個動作「創建」是一個空字符串。標準的Int和Strings不會出現此問題。

我應該如何處理字符串數組?

回答

1

發件人:

 [HttpPost] 
     public ActionResult DeclineClaims(String button, String[] Decline) 
     { 
      if (button == "claim") 
      { 
       TempData["Create"] = Decline; 
       return RedirectToAction("NewExpense", "Claim"); 
      } 

      .... 
      .... 
     } 

接收機:

 public ActionResult NewExpense() 
     { 
      String[] data = (String[])TempData["Create"]; 
     } 
7

你可以試試這個:

[HttpPost] 
public ActionResult DeclineClaims(String button, String[] Decline) 
{ 
    if (button == "claim") 
    { 
     var parameters = new RouteValueDictionary(); 
     for (int i = 0; i < decline.Length; i++) 
     { 
      parameters["Create[" + i + "]"] = Decline[i]; 
     } 
     return RedirectToAction("NewExpense", parameters); 
    } 
    .... 
    .... 
} 
相關問題