最初に読み込んだときにDefault.aspxに解決されないようなasp.net Webサイトがあります。私のローカルマシン上でデバッグするとき、デフォルトで問題はありません。 "localhost:##### /"に移動しようとしない限り。その後、404エラーが発生します。私はそれをステージングサーバーに展開するときに仮想パス "mywebapp"を与え、 "mydomain.com/mywebapp"からロードすると、404も表示されます。 Default.aspxをIISのDefault Documentのリストの一番上に設定しました。私が "mydomain.com/mywebapp/default"に移動すると、サイトは正常に読み込まれます。助言がありますか?私はコードを貼り付けますが、それは大規模なウェブサイトであり、私はかなり正直なところ私が何を探しているのか分かりません。ASP.NETルートのURLがDefault.aspxに解決されない
編集:私はまた、データの表示と編集のためのDataTableを使用しています私のサイトで 。 Ajaxの呼び出しでは、私は以前のようなURLを使用して、コントローラを呼び出すことができました:
api/MyController/idvalue
が、これを暴くため、私は戻って、彼らが仕事を得るためにURLを前置きしなければならなかった:
mywebapp/api/MyController/idvalue
コントローラ:
public class MyController : ApiController
{
[Route("api/MyContoller/{idvalue}")]
[HttpGet]
[HttpPost]
public IHttpActionResult MyControllerMethod(intidvalue)
{
}
}
WebApiConfig:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
RouteConfig:
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapRoute(
// name: "Default",
// url: "{controller}/{action}/{id}",
// defaults: new { action = "Index", id = UrlParameter.Optional }
// );
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
これはMVCまたは通常のWebフォームのサイトですか?私が尋ねる理由は、ルータの設定があるかどうかを知ることです。また、web.configにデフォルトのページを追加しようとしましたか? https://stackoverflow.com/questions/1913058/set-default-page-in-asp-net。また、mydomain.com/mywebapp/(最後にスラッシュ)を試してみましたか? –
それは意味があるかどうかではありません。 Webformsがほとんどですが、MVCのいくつかの側面が使用されています。私は最後にスラッシュを試みました。その記事の解決策では解決できませんでした。私は何か興味深いことに注意するために私の質問を編集しました – mac