質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Razor

RazorはASP.NET Web PagesとASP.NET MVCで使われているビュー・エンジンです。HTMLマークアップとC#またはVisual Basicのコードに対応しています。マークアップとコードの間の切り替えは"@"で記されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

573閲覧

ASP.NET Core RAZORページアプリケーションに任意のルートパスを設定したい

kato_junnichi

総合スコア2

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Razor

RazorはASP.NET Web PagesとASP.NET MVCで使われているビュー・エンジンです。HTMLマークアップとC#またはVisual Basicのコードに対応しています。マークアップとコードの間の切り替えは"@"で記されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2023/02/23 14:56

編集2023/02/23 15:01

ASP.NET Core RAZORページアプリケーションのルートパスの変更

  • アプリケーションに任意のルートパスを設定したい

前提

環境:Visual Studio 2022
ASP.NET 等のバージョンは下記チュートリアルに準じております。

下記チュートリアルに沿って学習していたのですが、ルートパスを「.../Movies」に変更したいと思い色々調べていたのですが
MVCの記事ばかりで、これという記事が見当たらなかったので質問させていただきます。
https://learn.microsoft.com/ja-jp/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-7.0&tabs=visual-studio

試したこと

program.csの下記を触れば出来そうかなというところまでしかわかりませんでした。。

app.MapRazorPages()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2023/02/23 14:58

開発環境を書きましょう。
退会済みユーザー

退会済みユーザー

2023/02/24 00:29 編集

チュートリアルは .NET 7.0 となってましたが、それで良いのですか? .NET のバージョンを質問文に書いてください。OS は Windows 10 or 11 ですか? それも書いてください。 > アプリケーションに任意のルートパスを設定したい 具体例を書いてください。
kato_junnichi

2023/02/24 03:22 編集

> チュートリアルは .NET 7.0 となってましたが、それで良いのですか? チュートリアルに準じてと言っているのでそれで良いです。 >OS は Windows 10 or 11 ですか? それも書いてください。 この質問の内容的にOSの情報は必要ないと思いましたので書きませんでしたがwindows11です。 > 具体例を書いてください。 「任意のルートパス」としてるのでルートパスを変更する方法を知りたかったわけですが、強いて言えば「プロジェクトフォルダ/Pages/Movies/Index.cshtml」 ここをルートパスで表示したいです。
退会済みユーザー

退会済みユーザー

2023/02/24 04:18 編集

上記のことは追加情報として質問文を編集して書いてください。ここコメント欄は情報の追加などを依頼する場所で、初期画面では閉じているので読まない人もいますので。 あと、テンプレートで生成された既存の Index, Privacy, Error はどうしたいのかも書いてください。
kato_junnichi

2023/02/24 09:54

御回答有難う御座います。
guest

回答1

0

ベストアンサー

チュートリアルのパート 3 で作る Movies/Index を初期画面にしたいということなら、Program.cs で以下のようにしてください。

C#

1builder.Services.AddRazorPages() 2 .AddRazorPagesOptions(options => 3 { 4 options.Conventions.AddPageRoute("/Movies/Index", ""); 5 });

だだし、上の設定だけでは既存の Index とダブってエラーになるので、そのページを削除するか、@page ディレクティブに以下のように Index とは別名を設定する必要があります。

CSHTML

1@page "OldIndex" 2@model IndexModel 3@{ 4 ViewData["Title"] = "Home page"; 5} 6 7・・・後略・・・

AddPageRoute について、詳しくは以下のページを見てください。

ページ ルートの構成
https://learn.microsoft.com/ja-jp/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-7.0#configure-a-page-route

投稿2023/02/24 05:00

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問