2014-01-21 3 views
0

Я имею дело с проектом ASP.NET MVC4 с движком просмотра Razor. Мне нужно открыть внешнюю серверную страницу и отправить ее клиенту после его загрузки. Дело в том, что веб-страница и сервер должны находиться в одном домене (по соображениям безопасности), и это не подходит для клиента. Можно ли открыть ссылку на сервере, а затем представить ее клиенту, чтобы она выглядела как исходная страница (включая все содержимое скриптов)?Открыть внешнюю серверную страницу ASP.NET

ответ

0

Вы можете отправить запрос HTTP в удаленное местоположение (WebClient.DownloadString), а затем вернуть результаты клиенту. В основном это даст вам содержимое удаленной веб-страницы в виде строки. В зависимости от того, как именно вы хотите отправить это может быть разные подходы. Например, вы можете ввести его к <div> вашего текущего вида после того, как вы, конечно же, зачистите теги <html>, <head> и <body>, которые могут присутствовать и получать только внутреннее содержимое тела. Вы можете использовать библиотеку HTML Agility Pack для анализа содержимого удаленной страницы и извлечения только необходимых частей.

0

Если я понимаю, что вы пытаетесь достичь, вы можете использовать AJAX и CORS

Для примера:

alert(formData); 
       $.support.cors = true; 
       $.ajax({ 
        url: "http://localhost:89/API/Values", 
        type: "POST", 
        crossDomain: true, 
        data: formData, 
        dataType: "html", 
        success: function (result) { 
         alert('Server Side call Completed: Successful'); 
         $('#Result').html(result);       
        }, 
        error: function (jqXHR, tranStatus, errorThrown) { 
         alert('Error');        
        } 
       });    
Смежные вопросы