0
votes

Hello In my homeController I've got an action which returns a strongly-typed partial view

 public virtual ActionResult ImportShow(String id, String menuID, string articlegroupID)
        {

            GroupMenu p_GroupMenu = new GroupMenu();
            p_GroupMenu.LanguageName = p_country;


             p_GroupMenu.MenuHistory = p_GetMenuHistory.ToList();
            p_GroupMenu.MenuLeft = p_GetMenuLeft.ToList();

            return PartialView("ImportShow",p_GroupMenu);
        }

In my partialView ImportShow I just render two partial view

@model  MvcBeaWeb.GroupMenu

    <div id="importPartUpdate">
        <div class="heading-history">  


                @Html.Partial("MenuHistoryShow")

        </div>
        <aside id="asideIndex">
            <div class="leftMenu">
                <div id="sidebar">

                     @Html.Partial("MenuLeftShow")



                </div>
            </div>

And in my MenuLefShow PartialView I've got an Ajax.ActionLink which points again to ImportShow action method and it will update the importPartUpdate div

@model MvcBeaWeb.GroupMenu

<div class="divLeftShowMenu">
    <ul>
        @{
            if (Model != null)
            {
                foreach (MvcBeaDAL.WebServiceBeaMenu item in Model.MenuLeft)
                {

                  <li id="@item.ID">

                    @Ajax.ActionLink(item.SpecialWord, "ImportShow", "Home", new { id = Model.LanguageName, menuID = item.ID, articlegroupID=item.ArticlegroupID }, new AjaxOptions
                    {
                       UpdateTargetId = "importPartUpdate",
                       HttpMethod = "GET",
                       InsertionMode = InsertionMode.Replace
                    })

                  </li> 
                }
            } 
        }
    </ul>
</div> 

--So the problem is - when a user for example click "Open in a new WIndow" - that means that in the new window there would be only this "ImportPartUpdate" div. SO IS there any method with which I can say - if the user has right-clicked "open in a new window" - go to index action and reload the whole page.

1

1 Answers

0
votes

You can check Request.IsAjaxRequest() in the controller action method

if (!Request.IsAjaxRequest())
{
     return //go to action for none ajax request
}