请在下面找到我的ActionResult指数:
public ActionResult Index(string SectionText)
{
var products = from p in db.Products
where p.CategoryID == SectionText
//orderby gs.SortBy
select p;
return View(products.ToList());
}
这会引发以下错误: -
>应用程序中的服务器错误。无法找到资源。
描述:HTTP 404.资源 你正在寻找(或其中一个 依赖)可能已被删除, 它的名字改了,或者是 暂时不可用。请 查看以下网址并确保 拼写正确。
请求的网址: /分段/子板-894 /
任何想法都会非常感激。这是使用内置vs Web服务器。
由于
答案 0 :(得分:0)
您正在请求/Sections/daughterboards-894
并且没有任何内容可以将此网址与Index
操作相关联。如果您使用的是默认路由,则您的请求应如下所示:/sections/index/daughterboards-894
当然,这假设您有一条能够处理此URL的路由:
routes.MapRoute(
"Default",
"{controller}/{action}/{SectionText}",
new {
controller = "Home",
action = "Index",
SectionText = UrlParameter.Optional
}
);
如果您想拥有/Sections/daughterboards-894/
这样的网址,则需要为其设置一条特殊路线:
routes.MapRoute(
"MySpecialUrl",
"Sections/{SectionText}",
new {
controller = "Sections",
action = "Index",
SectionText = UrlParameter.Optional
}
);
备注:作为旁注,我建议您将数据访问抽象到存储库中,而不是直接在控制器中访问它。这将使您的代码更容易进行单元测试。