项目里存在这样两个页面:
index.cshtml内容为index
detail.cshtml内容为detail
对应的controller方法中都是简单的return View();
在index页写了一个跳转到detail的链接@Html.ActionLink("detail","detail")
实际运行时在index页点击该链接,浏览器中地址重定向到detail页显示为localhost:xxx/Home/detail,但页面仍然停留在index页,显示index;
然后在地址栏按回车,页面才真正刷到detail页.
求问大虾这是啥米情况呀( ⊙ o ⊙ )
你的controller为detail,为什么url为:/home/detail?不是应该为/detail/detail?自己查看问题 看看路由设置
controller为home,链接时对的,只是不跳转,手动回车就可以跳转了,应该是哪里阻止了
@Williame: 你那个有问题了 你查看一下@Html.ActionLink的重载 第一个参数为linkText,第二个为action,所以都没有写控制器的地方。你看看改成这样@Html.ActionLink("detail","detail","home")
detail.cshtml对应的Controller是什么呢?改下@Html.ActionLink("detail","detail")中的Controller名字
controller是home, 方法签名为:public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName);
@Williame: 我是这么写的,运行正常:
HomeController:
public ActionResult Index()
{
return View();
}
public ActionResult Detail()
{
return View();
}
在Index.cshtml中添加Detail链接:@Html.ActionLink("Detail","Detail")
添加Detail.cshtml视图
在FF中运行正常
肯定是自己哪里写错了,如果写对了URL应该是:localhost:xxx/detail/detail
你用的是系统自带的@Html.ActionLink吗?
我上次出现这个问题是因为我的Url地址没有带 http://,加上就好了,但是使用系统自带的@Html.ActionLink应该没有这个问题,我也用了,就没遇到你这样的问题。