他の誰かがこの問題を抱えていましたか?私は何か間違ったことをしなければなりません。
だから私はこのようなエラーのルートを設定しています:
routes.MapRoute
(
"SharedError",
"Shared/Error/{error}",
new { error = "" }
);
そして、次のように呼び出します:
return parentController.RedirectToRoute("SharedError", new RouteValueDictionary(new { error = errorMessage.ToString() }));
そしてコントローラー上で:
public ActionResult Error(String error)
簡単でしょ?これを実際に実行すると、URLが次のようになっているにもかかわらず、エラーはnullになります。
/ Shared / Error / ThisIsTheError
ただし、Errorメソッドのエラーパラメータはnullです。(そして、はい、私は他の言葉を試しました)
これをすべて「id」という単語に置き換えると、すべてが機能します。
Global.asax.cs
routes.MapRoute
(
"SharedError",
"Shared/Error/{id}",
new { id = "" }
);
リダイレクト:
return parentController.RedirectToRoute("SharedError", new RouteValueDictionary(new { id = errorMessage.ToString() }));
共有コントローラー:
public ActionResult Error(String id)
値を取り込むデフォルトルートがある場合、idはすべてのルートの単語である必要がありますか?