私は今、これを数日間苦労しています。私はMVCの初心者ですが、私はこれらの問題についていません。私はmvcアプリケーションを持っています。以下は私が前の投稿から理解しているroute.configファイルが適切でないことです。私のページはかなり簡単ですが、1ページを除いてクエリ文字列はありません。すべてのページはコントローラ/ビュー形式です。そのような構成に対して正しいルーティング設定は何でしょうか。もし誰かが少しの説明でそれを手伝ってくれたら、それはすばらしいことになるでしょう。 IISでそのアプリケーションをデプロイすると、このルーティングに問題があります。 私はIISに展開し、私はそれが直接良いのですが、内部的にはMVCのルーティングとデプロイメント
http://localhost/Home/accountdetails
の代わりによりこれに
http://localhost/MyWebsite/Home/accountdetails
に行くに行く私のログインページに行き、閲覧を行うときに私が取得メートル404エラー。私はこれを設定する方法を理解していません。また、コンテンツフォルダにある私のイメージは、彼らが
http://localhost/MySite/Content/Images/myimage
の下でどのように私は、これらの問題を修正することができ、実際にしている間、彼らは
http://localhost/Content/Images/myimage
を参照しているbcozのいずれか表示されません。ここで何か助けてください。ここで
は私route.configあるpublic static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Home",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Login",
id =
UrlParameter.Optional
}
);
routes.MapRoute(
name: "Invoice",
url: "{controller}/{action}/{q}",
defaults: new
{
controller = "Home",
action = "GetInvoice",
id =
UrlParameter.Optional
}
);
routes.MapRoute(
name: "Error",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Error",
id =
UrlParameter.Optional
}
);
routes.MapRoute(
name: "ResetPassword",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "ResetPassword",
id
= UrlParameter.Optional
}
);
routes.MapRoute(
name: "Accounts",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "AccountStatus",
id
= UrlParameter.Optional
}
);
routes.MapRoute(
name: "Register",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Register",
id =
UrlParameter.Optional
}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Login",
id =
UrlParameter.Optional
}
);
}
}
アップデート私はアプリケーションを実行すると、私は
<div class="bannerOuter" style="background-image: url('../../Content/Images/AccountStatus_cropped-23.jpg');">
以下のように背景画像を設定していたイメージのためではなく、公開後
と私はf12を押します。画像の下のURLを参照して、404エラーを投げます。
http://localhost/Content/Images/Accounts_cropped-23.jpg
しかし、IISで指定したWebサイトの名前を追加するURLを変更すると、そのURLにアクセスできます。
http://localhost/MyWebsite/Content/Images/Accounts_cropped-23.jpg
これは、この場合、私のイメージパスがどうなるべきかという問題です。
編集
@Html.EncodedActionLink(string.Format("{0} Statement", @Convert.ToDateTime(@invoiceItem.InvoiceDate).ToString("MMMM")), "GetInvoice", "Home", new { accountNumber = Model.CustomerModel.AccountNumber, dueDate = (Convert.ToDateTime(invoiceItem.DueDate).ToString("dd-MMM-yyyy")) }, new { target = "_blank", @class = "Link" })
http://localhost/Home/GetInvoice?q=ZDmgxmJVjTEfvmkpyl8GGWP4XHfvR%2fyCFJlJM1s0vKj4J6lYJWyEA4QHBMb7kUJq
は、どのように私はそれがインラインCSSで
http://localhost/MySite/Home/GetInvoice?q=ZDmgxmJVjTEfvmkpyl8GGWP4XHfvR%2fyCFJlJM1s0vKj4J6lYJWyEA4QHBMb7kUJq
すべてのルートは完全に同じURLパターンです。 「ホーム」ルートは常に最初に一致し、残りは完全に無視されます。あなたはあなたの説明に基づいて "ホーム"ルート以外のものは必要ありません。ハイパーリンクや画像については、ビューでどのように参照しているかを確認する必要があります。 –
ありがとう..私はあなたが示唆したことをして、それはビューのために大丈夫だと思われました。しかし、画像のために。私の編集を参照してください。 – Blossom