문제

마스터 페이지가 있는 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 />"));
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top