如果在同一页面上,MVC会避免页面加载

时间:2014-07-01 11:38:07

标签: asp.net-mvc asp.net-mvc-4

如果UrlReferrer与即将加载的Url相同。如何避免页面重新加载? 示例用户在“关于”页面上,单击“关于”菜单项。我什么都不想做。

    public ActionResult About()
    {           

        if (Request.Url == HttpContext.Request.UrlReferrer)
        {
            ViewBag.Message = "same: "+ DateTime.Now;
            //return ???
        }
        else {
            ViewBag.Message = "new: "+ DateTime.Now;
            return View();
        }           
    }

2 个答案:

答案 0 :(得分:0)

您可以进行自定义操作,并使链接指向此处,例如:

public ActionResult RedirectToAbout()
{
}

在此,检查当前地址,如果它与大致相同,则不执行任何操作,否则重定向。

if (currentControllerName.Equals("SomeController", StringComparison.CurrentCultureIgnoreCase) &&
                                                currentActionName.Equals("About", StringComparison.CurrentCultureIgnoreCase))
{
//Do Nothing
}
else
{
//Redirect here
}

答案 1 :(得分:0)

您需要在菜单中执行此操作,而不是在服务器上执行此操作。因此,当您登陆主页时,菜单部分视图(或您的母版页,取决于菜单的位置)应该知道应删除主菜单项的URL并更改为" javascript:返回false;"或者那种效果。