打开外部网页服务器端ASP.NET

时间:2014-01-21 14:00:46

标签: asp.net-mvc-4 razor

我正在使用Razor视图引擎处理ASP.NET MVC4项目。 我需要打开一个外部网页服务器端,并在加载后将其呈现给客户端。关键是网页和服务器必须位于同一个域(出于安全原因),这对客户端无效。 是否可以打开服务器中的链接,然后将其呈现给客户端,使其看起来像原始页面(包括所有脚本内容)?

2 个答案:

答案 0 :(得分:0)

您可以向远程位置(WebClient.DownloadString)发送HTTP请求,然后将结果返回给客户端。基本上,这将为您提供远程网页的内容作为字符串。根据您希望向用户呈现的确切方式,可能会有不同的方法。例如,您可以在删除可能存在的<div><html><head>标记并获取内部内容后将其注入当前视图的某些<body>的身体。您可以使用HTML Agility Pack库来解析远程页面的内容,并仅提取必要的部分。

答案 1 :(得分: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');                             
                    } 
                });