перезагрузка родительского окна с помощью jquery - PullRequest
0 голосов
/ 27 октября 2011

У меня есть родительское окно со списком товаров.Нажав на один из продуктов, он вызовет popUpWindow с помощью кода jquery:

   $('a.modalDlg').click(function () {
     var urlPath= "/controllerName/actionName";
     var title="sample";
     var features="width = 400, height = 150,scrollbar=no";
     window.open(urlPath, $title, $fea);
   });

В дочернем окне после нажатия кнопки сохранения -> дочернее окно закроется, а родительское окно будет перезагружено.

     window.opener.location.reload();
     window.close();

После этого вставленное значение будет отображаться в родительском окне.

Но вместо перезагрузки всей страницы ("window.opener.location.reload ()").Есть ли возможность вызвать конкретный метод в контроллере, который содержит список продуктов ??????Например:

    public ActionResult DisplayProductDetails()
       {
          //some code
         return view();
       }

, поэтому он будет отображать новый вставленный продукт в родительском окне, и он будет выглядеть лучше, вместо перезагрузки всей страницы.(это то же самое, что перезагрузка фреймов в HTML).

Pl, помогите мне в этом.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 марта 2014

В вызове окна Chicld только метод close после вызова метода Controller
C # имеет следующий код

[HttpPost]
public ActionResult DisplayProductDetails()
{
     //some code
     return view("ViewName",ModelNameObject);
}

В вызове JQuery Ajax создайте событие для запуска, как показано ниже

$.ajax({
url:'UR URL to here'
dataType :'text json'
Method:Post
Success:function(data)
{
    $("#ParenetDivID").html(data);
}
});
0 голосов
/ 27 октября 2011

Внедрить метод JS в

вашего родительского окна <script type="text/javascript"> window.updateWithNewData = function () { $.ajax({ url: "url/to/your/partial/view/that/returns/new/data", success: function(data) { $("#dataContainer").append($("<div></div>").html(data)); } }); } </script> Вызовите это из вашего дочернего окна window.opener.updateWithNewData(); window.close(); OR вы можете сохранить запрос на сервере, предоставив объект JSON в качестве параметра updateWithNewData, который создается из вашего всплывающего окна с вашими данными. И используйте данные, переданные в вашем родительском окне . Надеюсь, это поможет!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...