2014-01-23 95 views
0

我有2次從中我可以從CONTROLER調用功能控制器RedirectToAction:迥異於呼叫者

  • 指數
  • MyDevices

有什麼辦法RedirectToAction會重定向到指數或MyDevices依賴於調用者而不用新的名稱來處理代碼,只改變RedirectToAction(「parameter」)?

下面你可以看到我的控制器方法

[HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Edit([Bind(Include="DeviceId,DeviceSerialNumber,DeviceUser,DeviceDictionaryId,Batch,Start,End")] Device device) 
     { 
      if (ModelState.IsValid) 
      { 
       db.Entry(device).State = EntityState.Modified; 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 
      return View(device); 
     } 

回答

3

在你的意見,你的表單中,添加一個名爲viewName保存當前視圖的名稱隱藏字段。在您的控制器中進行這些更改(添加viewName參數並根據其值重新定向):

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Edit([Bind(Include="DeviceId,DeviceSerialNumber,DeviceUser,DeviceDictionaryId,Batch,Start,End")] Device device, string viewName) 
{ 
    if (ModelState.IsValid) 
    { 
      db.Entry(device).State = EntityState.Modified; 
      db.SaveChanges(); 
      return RedirectToAction(viewName); 
    } 
    return View(device); 
}