2014-01-23 70 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); 
}