【发布时间】:2015-05-04 17:47:02
【问题描述】:
因此,我是 Angular 的新手,所以在将数据发布回服务器后,我对如何完成重定向有点迷茫:
我有以下更新:
$http.post("@Url.Action("SaveBranding", "AirlineConfig")", brandModel.model);
然后在服务器上,我的控制器中有这个:
[HttpPost]
public ActionResult SaveBranding(BrandingViewModel viewModel)
{
if (IsModelStateValid())
{
var airline = GetAirlineFromAirlinePlatformId(viewModel.AirlinePlatformId);
switch (viewModel.PostAction)
{
case "Save":
BrandingViewModel.SaveEntity(viewModel, _db);
var airlineBranding = BrandingViewModel.FromEntity(_db.AirlinePlatforms.Single(x => x.AirlinePlatformId == viewModel.AirlinePlatformId).BrandingViews, viewModel.AirlinePlatformId);
return View("Branding", airlineBranding);
case "Save & Close":
BrandingViewModel.SaveEntity(viewModel, _db);
return RedirectToAction("Edit", "AirlineConfig", new { id = airline.AirlineId });
case "Cancel":
return RedirectToAction("Edit", "AirlineConfig", new { id = airline.AirlineId });
default:
return HttpNotFound();
}
}
return View("Branding"); //Replace this later
}
我的路由不起作用,我不知道如何执行此操作,因此我可以导航到正确的位置。
【问题讨论】:
-
您正在使用 MVC 控制器。您需要使用 Web API 控制器。
-
不幸的是,我无法从 MVC 控制器切换。那么这样做的唯一方法是做一个客户端 $location.path 吗?
-
嗯,在 Angular 应用程序中有多种重定向方式,但重定向以便加载新的 MVC 视图将使用 window.location 完成。但是,这将导致 Angular 应用程序被卸载并将一个全新的页面加载到浏览器中。这对我来说没有多大意义。如果您使用的是 ASP.NET MVC,为什么要使用 angular?
-
Angulars 双向绑定显着有助于减少我正在实现的 javascript 和 jquery 代码。
-
它也结束了 window.location 似乎给了我想要的实现。
标签: javascript c# asp.net asp.net-mvc angularjs