SimpleMvcCaptcha を使用しています。私の環境にはさまざまな領域があります。このキャプチャをさまざまな場所でさまざまな形で使用したいと考えています。
このモジュールには、Captcha という名前のコントローラーとその中に 1 つのメソッドが必要です。このコントローラーを使用しているのと同じ領域に作成しても問題はありませんが、別の領域で使用すると、次のエラーが発生します。
The controller for path '/AreaName/Captcha/GetImage/15fe4de1-fd46-4f2f-a0d1-74c397bd8365' could not be found.
どうすればこの問題を解決できますか? この問題を解決できると思う1つの方法は、次のようなルート登録でエリアを削除することです
routes.MapRoute(
"Default_Captcha",
"AreaName/Captcha/{action}/{id}",
new { area = string.Empty, controller = "Captcha", action = "GetImage", id = UrlParameter.Optional });
しかし、私はまだ同じエラーが発生しています。
リンクから地域名を削除する方法はありますか?
- - アップデート
キャプチャには、その操作用のコントローラーが必要です (キャプチャー画像を取得するための 1 つのメソッドを備えたコントローラー)。
MyAreaに実装されている形で利用したい。このフォームは、MyController というコントローラーに関連しています。
この領域に必要なコードを含む CaptchaController を作成すると、captcha は正常に機能します (Captcha 画像が表示されます)。
ここで、別の領域 (MyArea2) があり、この領域に MyController2 というコントローラーがあり、この領域にも新しい Captcha コントローラーが必要であるとします。そうしないと、画像が表示されません。
画像が表示されないため、CaptchaController を市外局番以外のセクションに移動できません。
Captcha 画像への URL は次のとおりです (MyController に関連するビューで使用される Captcha の場合):
http://mySite/MyArea/Captcha/GetImage/xxxxxxxxxxxx
Captcha 画像への URL は次のとおりです (MyController2 に関連するビューで使用される Captcha の場合):
http://mySite/MyArea2/Captcha/GetImage/xxxxxxxxxxxx
キャプチャ コントローラーを非エリア セクションに移動すると、上記の URL が機能せず、画像が表示されません。
これらの URL を次の URL に再ルーティングできれば、機能するはずです (非エリア セクションに 1 つの Captcha コントローラーを配置できます)。
http://mySite/Captcha/getImage/xxxxxxxxxxxxxxxxxxx
これどうやってするの?