一个Tag控制器:
public ActionResult tag(string id) { id = Server.UrlDecode(id); if (id != null) { var t = db.Tags.Where(m => m.TagName == id); if(t.Count()==0||t.Count()>=2) { return RedirectToAction("Index"); } int tid = t.SingleOrDefault().TagID; var articles = db.Tag_relationships.Include("Articles").Where(m => m.TagID == tid).ToList(); ViewBag.tagname = id; return View(articles); } else { return RedirectToAction("Index"); }
VIEW:
@model IEnumerable<Blog.Models.Tag_relationship> @foreach (var item in Model.Take(10)) { <li><a href="/Read/Blog/@item.ArticleID">@item.Articles.Title</a> </li> }
路由:
routes.MapRoute( "Tag", "tag/{id}", new { controller = "Tag", action = "tag", id = UrlParameter.Optional } );
功能就是跟据string id这个tag名称获取相应的文章。下面就是表之间的关系:
可是在WIN8 + VS2012+IIS8 EXPRESS 下调试时, /tag/ASP.NET MVC3和/tag/.NET 2.0时,都报404错误。如图:
而相同的功能在WIN7 +VS2010+MVC3 下面却一切正常。大家可以访问图片中的网站点“动作”这个栏目下查看,是ASP.NET MVC3写的。
估计是你的IIS设置的问题,对于这一样的请求win8中Iis由于设置问题导致不能处理
本人才蔬学浅,有没有人帮忙测试试一下,问题出在哪个配置上面?
@abc54288: 对比一下,2个系统的iis配置,尤其是那个ISAPI扩展
是用VS2012自带的IIS EXPRESS调试的,没地方可以设置啊。
@abc54288: 我这边VS2012开发asp.net mvc 4正常,不过我的系统是win7
现在使用mvc4的人多吗?