0

認証に独自のログイン ページを使用したいのですが、このエラーが表示されます

説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。

要求された URL: /Account/PasswordLock

誰もが理由を知っていますか?これが私のコードです。ログイン ツールを含む PasswordLock.aspx という新しいページを作成しました。元のログインフォームではすべて正常に機能しますが、私のものでは機能しません。

<authentication mode="Forms">
  <forms loginUrl="~/Account/PasswordLock" timeout="2880" />
</authentication>

これはうまくいきますが

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

ありがとう

4

1 に答える 1

1

ASP.NET MVC では、URL はファイルにマップされません。それらはアクションにマップされます。そのため、ファイルを持って~/Accounts/PasswordLock.aspxいても役に立ちません。必要なのは、その URL へのルートです。ルートは通常、RouteConfig というファイルで設定され、App_Start フォルダーの下にあり、Application_Start()Global.asax のメソッドによって実行されます。通常のデフォルト ルートは次のようになります。

routes.MapRoute(
    name: "default",
    routeTemplate: "{controller}/{action}/{id}",
    defaults: new { id = RouteParameter.Optional });

これは、www.example.com/Accounts/PasswordLock という URL が というコントローラにマップされ、AccountsControllerそのコントローラのメソッドが ということを意味しますPasswordLockViewこのメソッドは、デフォルトで呼び出される を返す必要がありますPasswordLock.cshtml。新しい Razor v2 ビュー エンジン.cshtmlでは、.aspx.

これはすべて、ASP.NET MVC プログラミングにとって非常に基本的なことです。やみくもに飛び込んでいるように聞こえます。www.asp.net/mvcのチュートリアル、特にcontrollers と routingに関するチュートリアルを読むことを強くお勧めします。

于 2013-07-23T14:25:51.640 に答える