我有一個控制器和視圖工作,調用Web服務,並返回結果。目前,它是我的默認控制器,名爲Home,它使用Index視圖頁面。MVC4和路由
它的工作。我可以發佈數據,然後在刷新的屏幕上放一些東西。它重新加載相同的視圖。
現在,一旦我提交了,我得到了一個很好的回覆,我想加載一個不同的控制器/視圖。
我的路線是這樣的現在:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Home",
"{lang}",
new { controller = "Home", action = "Index", lang="English" });
routes.MapRoute(
"Location",
"{lang}",
new { controller = "Location", action = "Index", lang = "English" });
我創建了一個控制所謂的位置,它只是有這樣:
//LocationController
public class LocationController : Controller
{
public ActionResult Index()
{
return View();
}
}
在我家的控制器,我做的邏輯,然後嘗試加載新頁面。
[HttpPost]
public ActionResult Index(HomeModel model)
{
var proxy = new Proxy();
var r = proxy.GetLocationByAddress(model.SearchString, o.ToString());
if(r==null)
{
ViewBag.Error = "Error during search";
return View(model);
}
ViewBag.Error = string.Format("Found {0} at {1}, {2}", r.StreetName, r.Latitude, r.Longitude);
return RedirectToAction("Index", "Location");
}
但是當我運行它,提交,步,它擊中RedirectToAction - 但...主屏幕只是刷新。我從來沒有看到新的位置視圖。我在這裏做錯了什麼?我have't掌握的路線還沒有......我需要一個新的對象傳遞給Location.Index屏幕顯示...
Rob,我試過了,但默認的開始屏幕重新加載。什麼是starnge是位置控制器中的「返回View()」運行 - 但返回錯誤的視圖... – Craig
啊,等等...我刪除了其他的路線,這個工程。 THhanks。 – Craig