は、私はシンプルコントローラ持っているビューの.Net MVC3にdisappeare:Global.asaxの中ルート値は
<h2>@ViewContext.RouteData.Values["r"]</h2>
@using (Html.BeginForm("Test", "Test"))
{
<input type="text" name="r" />
<button>Submit</button>
}
私が持っているルートルール:
public class TestController : Controller
{
public ActionResult Test(string r)
{
return View();
}
}
を私は、単純なビューTest.cshtml持っています
routes.MapRoute(
null,
"Test/{r}",
new { action = "Test", controller = "Test",
r = UrlParameter.Optional }
);
私はこのようなことをしたい:ユーザ入力のルート値を入力し、submitを押すと、コントローラがTest/valueページにリダイレクトする。しかしコントローラは毎回Testという名前のページを表示します。 ViewContext.RouteData.Values ["r"]も空です。私はデバッグをチェックし、テストアクションはrのユーザー値を正しく受け取ります。 私の考えをどうすれば実現できますか?おかげさまで
ああ!確かに!ありがとう。 2つのアクションメソッド(HttpGetとHttpPost)を作成し、HttpPostメソッドからHttpGetメソッドへのRedirectToActionを使用します。それはうまく動作します。ありがとう! – greatromul