Web サービスを呼び出して結果を返す単一のコントローラーとビューが動作しています。現時点では、Home と呼ばれるデフォルトのコントローラーで、Index ビュー ページを使用しています。
それは働いています。データを投稿してから、更新された画面に何かを配置できます。同じビューをリロードします。
ここで、送信して良好な応答が得られたら、別のコントローラー/ビューをロードしたいと思います。
現在、私のルートは次のようになっています。
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" });
Location と呼ばれる制御されたものを作成しました。これには次のようなものがあります。
//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 にヒットしますが、... ホーム画面が更新されるだけです。新しい場所ビューが表示されません。ここで何が間違っていますか?Routes はまだ把握できていません... Location.Index 画面に新しいオブジェクトを渡して表示する必要があります...