单击浏览器后退按钮,不再显示部分视图?

时间:2013-07-30 21:08:56

标签: jquery ajax asp.net-mvc asp.net-mvc-4 browser

我有一个带有链接的表的视图。单击链接时,JQuery通过ajax加载PartialViewResult。问题是,当用户单击部分视图中显示的结果中的链接并转到另一个页面然后单击后退按钮时,页面上上呈现的局部视图的内容不再显示在页面上即可。如果用户单击浏览器后退按钮,如何显示渲染的局部视图?

... JQuery的

 <script type="text/javascript">

 function getGroup(id) {
     var link = "Search/GroupDetails/" + id;
     $('#Group').load(link);
     $('#Group').show();
 }

这被加载到DIV

 <div id="Group">
 </div>

控制器局部视图

        public PartialViewResult GroupDetails(string id)
    {
        SearchIndexViewModel newSIVM = new SearchIndexViewModel();
        id = Help.FormatID(id);
        CCRUser ccrUser = _CCRUser.GetUser();
        newSIVM.CCRUser = ccrUser;

        if (!string.IsNullOrEmpty(id))
        {
            newSIVM.Selected_Group = _Groups.GetSingleGroup(id, cUser);
            newSIVM.Group_Owner = _Groups.GetGroupOwner(id, cUser);
            newSIVM.Group_Members = _Groups.GetGroupMembers(id, cUser);        
            HttpContext.Session["SELECTEDGROUPNAME"] = id;

        }

        return PartialView("_GroupDetails", newSIVM);
    }

1 个答案:

答案 0 :(得分:0)

您可以在脚本中使用document.ready函数。每次加载原始视图时都会触发此操作。 (我检查过,即使按下后退按钮也会被解雇)

$(document).ready(function() {
    // Check the session value from the server by sending a ajax request. 
    // You can use the success function of the ajax request to call the get group function
    // If a SELECTEDGROUPNAME exists
    getGroup(1);

});