POST を行ったビューからアクションをチェックインする方法を考えています。したがって、アクションが完了したら、同じビューに戻ることができます。
お気に入り:
if (enteredfromView1)
{
return RedirectToAction("View1","Controller");
}
else
return RedirectToAction ("View2","Controller");
POST を行ったビューからアクションをチェックインする方法を考えています。したがって、アクションが完了したら、同じビューに戻ることができます。
お気に入り:
if (enteredfromView1)
{
return RedirectToAction("View1","Controller");
}
else
return RedirectToAction ("View2","Controller");
Request.UrlReferrer を使用してこれを実装できます。
public ActionResult TryMeOut()
{
TempData["ReturnPath"] = Request.UrlReferrer.ToString();
//return your users to the correct view.
}
これがあなたが探しているものでない場合は、この投稿を見てください。多分これはあなたを助けるでしょう:コントローラー、ASP.NET MVCでビュー名を取得する
ビューの名前を示す非表示の入力をフォームに追加します。
<input type="hidden" id="ViewName" name="ViewName" value="View1" />
次に、アクションでRequest.Form["ViewName"]
それを取得するために使用します。
string viewName = Request.Form["ViewName"];
switch (viewName)
{
case "View1":
return RedirectToAction("View1","Controller");
case "View2":
return RedirectToAction("View2","Controller");
// ...
default:
return RedirectToAction("SomeDefault", "Controller");
}
アクションが動的である場合 (複数のビューが同じアクションにリダイレクトされる可能性がある場合)、Request の UrlReferrer プロパティを使用できます。詳細については、MSDN サイトを参照してください。代わりにを実装するRedirect("URL")
か、URL を解析してコントローラーとビューを推測する必要があります。