ASP.NET에서 iFrame 사용
-
14-11-2019 - |
문제
마스터 페이지가 있는 asp.net 웹사이트가 있습니다. iframe
그래서 나의 .aspx
페이지가 내부에 로드됩니다. iframes
.(마스터 페이지가 로드되지 않음을 의미)
나랑 좀 비슷해 iframe
될 것이다 contentplaceholder
아니면 아마도 contentplaceholder
그 안에 있겠지?
어떤 아이디어가 있나요?
해결책
이 를 사용해보십시오
<iframe name="myIframe" id="myIframe" width="400px" height="400px" runat =server></iframe>
.
마스터 페이지의 codebehind 에이 iframe을 노출합니다.
public HtmlControl iframe
{
get
{
return this.myIframe;
}
}
.
콘텐츠 페이지에 대한 MasterType 지시문을 강력하게 입력 한 마스터 페이지로 추가하십시오.
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits=_Default" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPage.master" %>
.
코드 뒤에
protected void Page_Load(object sender, EventArgs e)
{
this.Master.iframe.Attributes.Add("src", "some.aspx");
}
. 다른 팁
어떨까요?
<asp:HtmlIframe ID="yourIframe" runat="server" />
.
).NET Framework 4.5 이후 지원됩니다.
이 컨트롤을 사용하는 데 문제가있는 경우 여기 .
iframe을 HTML 페이지에 배치하여 내부에 다른 URL을 표시할 수 있는 내장된 브라우저 창으로 생각할 수 있습니다.이 URL은 귀하의 웹사이트/앱과 완전히 다를 수 있습니다.
모든 HTML 페이지에 iframe을 넣을 수 있으므로 마스터 페이지가 있는 웹 양식의 contentplaceholder 안에 iframe을 넣을 수 있으며 iframe을 서버로 전환하는 경우 Javascript 또는 C#을 통해 로드하는 모든 URL과 함께 표시됩니다. -측 제어(runat='server'
) 요청 시 웹 양식이 생성되는 최종 HTML 페이지에 있습니다.
그리고 iframe에 URL을 로드할 수 있습니다. ~이다 ㅏ .aspx
페이지.
그러나 iframe은 ASP.net 메커니즘과 아무 관련이 없습니다.서버 측에서 실행되도록 만들 수 있는 HTML 요소이지만 본질적으로 '멍청'하고 관리되지 않으며 ASP.Net 메커니즘에 연결되지 않습니다. Contentplaceholder를 iframe과 혼동하지 마세요.
덧붙여서, iframe의 사용은 여전히 논쟁의 여지가 있습니다. 정말로 iframe을 사용해야 할까요?당신은 그들과 관련된 부정적인 상충관계를 감당할 수 있습니까?내비게이션 이력이 부족하다...?
다른 옵션은 자리 표시자를 사용하는 것입니다.
html :
.
<body>
<div id="root">
<asp:PlaceHolder ID="iframeDiv" runat="server"/>
</div>
</body>
c # :
.iframeDiv.Controls.Add(new LiteralControl("<iframe src=\"" + whatever.com + "\"></iframe><br />"));