나는 ProductsController라는 컨트롤러가 있고 WebForm1.aspx라는 웹 폼이있는 인덱스 뷰를로드하는 데 인덱스 메서드를 사용합니다. 인덱스 뷰가 설정되었고 제대로 작동하고 있습니다. 이제 WebForm1.aspx의 내용을 표시하기 위해 인덱스 뷰에 iframe을 추가하려고합니다. 두보기 모두 MVC 프로젝트의보기/제품과 동일한 폴더에 있습니다.asp.net 웹 양식을로드 할 MVC 뷰의 iframe
<iframe src="/ProductsController/Index?WebForm1.aspx" width="1000" height="400">
</iframe>
내 조회수 /의 Web.config로 다음 설정 : 나는 다음과 같은 짓을
및 웹 양식 상속은 다음과 같습니다
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
그러나 iframe에 오류 메시지가 표시됩니다. "HTTP 404 - 찾고있는 리소스 (또는 해당 종속성 중 하나)가 제거되었을 수 있습니다. 이름이 변경되었거나 일시적으로 사용할 수 없습니다. "
나는 나의 Global.asax 파일에 다음 줄을 추가하는 것이 시도 :RouteTable.Routes.RouteExistingFiles = true;
을뿐만 아니라 실패
내가 iframe이이 하지만 빈 전체를 사용하는 것입니다 표시 얻는 유일한 방법 다음으로 실제 경로 :
<iframe src="C\:Folder1\Folder2\ ...\Views\Products\WebForm1.aspx" width="1000" height="400">
</iframe>
누군가가 왜 작동하지 않는지 설명 할 수 있습니까? 어떻게 작동 시키는가? 고맙습니다.
"/webforms/webform1.aspx"오픈 웹 양식에서 탐색 링크를 만들어 다시 MVC 웹 사이트를 탐색 할 수 있다는 것입니다 그 webforms는 프로젝트 루트 경로에 직접 있습니까? 그렇다면 작동하지 않습니다. –
이것은 두 번째 대답입니다 ... 내가 말하고자하는 것은 System.Web.UI.Page (WebForm1.aspx)에서 상속받은 aspx 파일이 있으면 해당 종류의 파일을 Views 폴더 외부에 배치해야한다는 것입니다. 당신은 컨트롤러를 통해 요청을 통과하지 않고 "정상적인"URL로 호출 할 수 있습니다 ... aspx의 다른 종류는 "System.Web.Mvc.ViewPage"에서 상속 한 것들입니다. 그 파일은 Razor 파일로 동작해야합니다. in view 폴더에 있고 요청은 컨트롤러를 통해 이루어집니다. – jherrera
설명을 주셔서 감사합니다. 제 질문이 업데이트되었습니다. 한번보세요. –