public void RedirectToAction_ThrowsIfControllerIsNull() { // Act & assert ExceptionHelper.ExpectArgumentNullException( delegate { ControllerExtensions.RedirectToAction <SampleController>((SampleController)null, x => x.SomeMethod(42)); }, "controller"); }
public void RedirectToAction_DifferentController() { // Act RedirectToRouteResult result = ControllerExtensions.RedirectToAction <DifferentController>(new SampleController(), x => x.SomeOtherMethod(84)); // Assert Assert.IsNotNull(result); Assert.AreEqual("", result.RouteName); Assert.AreEqual(3, result.RouteValues.Count); Assert.AreEqual("Different", result.RouteValues["controller"]); Assert.AreEqual("SomeOtherMethod", result.RouteValues["action"]); Assert.AreEqual(84, result.RouteValues["someOtherParameter"]); }
public void RedirectToAction_SameController() { // Act RedirectToRouteResult result = ControllerExtensions.RedirectToAction <SampleController>(new SampleController(), x => x.SomeMethod(42)); // Assert Assert.IsNotNull(result); Assert.AreEqual("", result.RouteName); Assert.AreEqual(3, result.RouteValues.Count); Assert.AreEqual("Sample", result.RouteValues["controller"]); Assert.AreEqual("SomeMethod", result.RouteValues["action"]); Assert.AreEqual(42, result.RouteValues["someParameter"]); }
// GET: Phones public ActionResult List() { PhonesService phoneService = new PhonesService(); PhoneListVM model = new PhoneListVM(); TryUpdateModel(model); if (!model.ContactID.HasValue) { return(ControllerExtensions.RedirectToAction <ContactsController>(this, c => c.List())); } model.Contact = phoneService.GetContact(model.ContactID.Value); model.Phones = phoneService.GetAll().Where(p => p.ContactID == model.ContactID.Value).ToList(); return(View(model)); }
protected ActionResult RedirectToAction <TController>( Expression <Action <TController> > action) where TController : Controller { return(ControllerExtensions.RedirectToAction(this, action)); }