1
routes .Add ("Detail",
new Route ("{maincategory}/{category}",
new RouteValueDictionary (new { controller = "Category", action = "Detail"}),
new RouteValueDictionary (new { category = new FromValuesListConstraint ("")}),
new MyRouteHandler()));
routes.Add("Category",
new Route("{category}",
new RouteValueDictionary(new { controller = "Category", action = "Index", category = "" }),
new RouteValueDictionary(new { category = new FromValuesListConstraint("") }),
new MyRouteHandler()));
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
私のルートはこのようなものです。しかし、私はWebサイトのホームページを表示するときに表示されます。ホームページが表示された後何か起こり、新しい新しいクエストが行われます(私はなぜわからない)私はMvcRouteHandlerをオーバーライドし、Asp.Net Mvc RouteDataが間違ったパラメータで埋められています
public class MyRouteHandler : MvcRouteHandler
{
protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
{
var url = HttpContext.Current.Request.RawUrl;
var route = requestContext.RouteData;
return new MvcHandler(requestContext);
}
}
url変数は/Content/Divider.gifです。そのため、ホームページが表示された後、アプリケーションはエラーを出します。私は初心者のMVCユーザーとして問題を理解するためにすべてを試みた。しかし、私は何かを見つけることができませんでした。
ありがとうございます!
「Divider.gif」という用語をソリューション全体で検索して、どこで使用しているのか教えてください。それはマスターページのビューですか? –
divider.gifはCssファイルにあります。 背景:transparent url( 'divider.gif') しかし、このような私のソリューションにはファイルがありません。私は友人のウェブサイトから古いCSSを使用しています –