带有参数的面包屑
Breadcrumbs with a parameter
当地址类似于 http://localhost:53732/Details/Index/1 时,我的面包屑未显示在页面上的原因可能是什么
但是如果我像这样手动重写地址就可以了
http://localhost:53732/Details/Index?id=1
这是我的 Mvc.sitemap:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0" enableLocalization="true">
<mvcSiteMapNode title="Home" controller="Home" action="Index">
<mvcSiteMapNode title="Listing" controller="Listing" action="Listing" key="Details">
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMap>
这是 returns 我的视图 Details/Index:
的方法
namespace OurNewShop.Controllers
{
public class DetailsController : Controller
{
[MvcSiteMapNode(Title = "DetailsPage", ParentKey = "Details")]
public ActionResult Index(int id)
{
using (ProductContext context = new ProductContext())
{
Product pr = context.Products.Include(y => y.ProductImages).FirstOrDefault(y => y.ProductId == id);
ViewBag.ImagePath = Constants.Constants.ImagePath;
return View(pr);
});
}
}
}
}
看看有什么解决方法吗?
必须在 web.sitemap 内的 mvcSiteMapNode 中提及可选参数,以使面包屑和导航正常工作。尝试包括 "id" 和 "preservedRouteParameters",如下所示。
<mvcSiteMapNode title="Home" controller="Home" action="Index" id="*" preservedRouteParameters="id"/>
当地址类似于 http://localhost:53732/Details/Index/1 时,我的面包屑未显示在页面上的原因可能是什么
但是如果我像这样手动重写地址就可以了
http://localhost:53732/Details/Index?id=1
这是我的 Mvc.sitemap:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0" enableLocalization="true">
<mvcSiteMapNode title="Home" controller="Home" action="Index">
<mvcSiteMapNode title="Listing" controller="Listing" action="Listing" key="Details">
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMap>
这是 returns 我的视图 Details/Index:
的方法namespace OurNewShop.Controllers
{
public class DetailsController : Controller
{
[MvcSiteMapNode(Title = "DetailsPage", ParentKey = "Details")]
public ActionResult Index(int id)
{
using (ProductContext context = new ProductContext())
{
Product pr = context.Products.Include(y => y.ProductImages).FirstOrDefault(y => y.ProductId == id);
ViewBag.ImagePath = Constants.Constants.ImagePath;
return View(pr);
});
}
}
}
}
看看有什么解决方法吗?
必须在 web.sitemap 内的 mvcSiteMapNode 中提及可选参数,以使面包屑和导航正常工作。尝试包括 "id" 和 "preservedRouteParameters",如下所示。
<mvcSiteMapNode title="Home" controller="Home" action="Index" id="*" preservedRouteParameters="id"/>