在asp.net MVC中创建长静态URL的最佳方法是什么?例如,我想创建以下网址。
例如:
/ Packages / Somepackage / package a
答案 0 :(得分:2)
如果您正在为搜索引擎优化执行此操作,则可能有更好的方法。
检查此问题的网址,您会看到有一个名为questions
的控制器,一个id
,以便可以从数据库中查找问题,以及一个长静态部分SEO的网址:
http://stackoverflow.com/questions/1786793/how-to-do-long-static-urls-in-asp...
URL的长静态部分只是控制器方法中的一个参数,存储为数据库中的文本字段。你可以在你想要的那个领域放置任何东西,只要你用破折号分隔单词(这是搜索引擎似乎更喜欢的)。它也是可选的,所以像
这样的链接http://stackoverflow.com/questions/1786793
......也有效。
答案 1 :(得分:1)
创建一些标准路线定义,如下所示:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}"
);
routes.MapRoute(
"Default2",
"{controller}/{action}/{id}/{id2}"
);
然后创建一个控制器名称包和其中的一些操作,如下所示:
定义这样的动作:
public ActionResult Somepackage(string id)
{
if (!string.IsNullOrEmpty(id) && id == "package")
{
//do something
}
}
public ActionResult Somepackage2(string id, string id2)
{
if (!string.IsNullOrEmpty(id) && id == "package"
&& !string.IsNullOrEmpty(id2) && id2 == "package2")
{
//do something else
}
}