2015-07-22 2 views
1

Мне нужен способ открыть модальный код MVC с помощью страницы WebForm .aspx. Я попытался открыть .aspx в новом окне с JavaScript.Как визуализировать страницу .aspx в модальном в MVC

window.open("Test.aspx", "Test", "width=800, height=600"); 

Это работает, но для дизайна моего проекта я хотел бы иметь его в модальном виде.

Я подумал renderize .aspx, в контроле и передать результат строку в JavaScript с вызовом AJAX ...

Но я не знаю, как ...

+1

Вы можете открыть страницу в '' ' https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie= UTF-8 # q = iframe – danludwig

ответ

0

Вы должны иметь возможность отображать его как частичное с @Html.Partial("Test") (при использовании Razor). Я не уверен, хотя, поскольку мы больше не знаем об архитектуре вашего приложения. Для получения дополнительной информации о партиях: MVC Partials

0

Вы можете делать то, о чем просите. Просто загрузите содержимое нужной страницы с помощью ajax и покажите его в модальном диалоговом окне с помощью jquery.

Есть DIV на странице с ID «Диалог», а затем добавить скрипт так:

$(function() { 
    $("#dialog").dialog({ 
     autoOpen: false, 
     modal: true, 
     title: "WhateverPageTitleYouWant", 
     buttons: { 
      Close: function() { 
       $(this).dialog('close'); 
      } 
     } 
    }); 
    $("#ElementKickingThingsOff").click(function() { 
     $.ajax({ 
      type: "GET", 
      url: "Test.aspx", 
      success: function (pageContents) { 
       $("#dialog").html(pageContents); 
       $("#dialog").dialog("open"); 
      } 
     }); 
    }); 
}); 
+0

Вы можете получить более подробную информацию о jQuery, используемом здесь: http://api.jquery.com/jquery.ajax/ и здесь: https://jqueryui.com/dialog/ –

+0

вчера я думал, что это решение было идеально подходит для моего сценария (я пробовал с базовым .aspx) ... но сегодня я пробовал с .aspx, который мне нужно использовать ... в этом .aspx у меня есть тег объекта, на который ссылается DLL, и весь контент этого объекта не отображается ... – luke88

+0

Ajax-вызов просто выполняет GET на любом адресе, который вы указали, поэтому этот подход должен работать, как только вы выясните, почему ваша страница .aspx неправильно отображается. Эти два не должны быть связаны. Если вы поставите больше деталей, я могу попытаться помочь. –

Смежные вопросы