استخدام iFrames في ASP.NET
-
14-11-2019 - |
سؤال
لدي موقع asp.net يحتوي على صفحة رئيسية، هل يمكنني استخدام iframe
كذلك انا .aspx
سيتم تحميل الصفحات داخل iframes
.(بمعنى أنه لن يتم تحميل الصفحة الرئيسية)
نوعا ما مثل بلدي iframe
سيكون ال contentplaceholder
أو ربما contentplaceholder
سوف يكون بداخله؟
أيه أفكار؟
المحلول
جرب هذا
<iframe name="myIframe" id="myIframe" width="400px" height="400px" runat =server></iframe>
كشف إطار 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" />
إذا كانت لديك مشاكل في استخدام عنصر التحكم هذا، فيمكنك إلقاء نظرة هنا.
يمكنك التفكير في iframe كنافذة متصفح مضمنة يمكنك وضعها على صفحة HTML لإظهار عنوان URL آخر بداخلها.يمكن أن يكون عنوان URL هذا مختلفًا تمامًا عن موقع الويب/التطبيق الخاص بك.
يمكنك وضع إطار iframe في أي صفحة HTML، بحيث يمكنك وضع واحد داخل عنصر نائب للمحتوى في نموذج ويب يحتوي على صفحة رئيسية وسيظهر مع أي عنوان URL تقوم بتحميله فيه (عبر Javascript، أو C# إذا قمت بتحويل إطار iframe الخاص بك إلى خادم - التحكم الجانبي (runat='server'
) في صفحة HTML النهائية التي ينتجها نموذج الويب الخاص بك عند الطلب.
ويمكنك تحميل عنوان URL في iframe الخاص بك يكون أ .aspx
صفحة.
ولكن - لا علاقة لإطارات iframe بآلية ASP.net.إنها عناصر HTML يمكن إجراؤها للتشغيل من جانب الخادم، ولكنها في الأساس "غبية" وغير مُدارة/غير متصلة بآليات ASP.Net - لا تخلط بين Contentplaceholder وiframe.
بالمناسبة، لا يزال استخدام إطارات iframe مثيرًا للجدل - هل تحتاج حقًا إلى استخدام واحدة؟هل يمكنك تحمل المقايضات السلبية المرتبطة بها على سبيل المثال؟عدم وجود تاريخ الملاحة...؟
خيار آخر هو استخدام العناصر النائبة.
لغة البرمجة:
<body>
<div id="root">
<asp:PlaceHolder ID="iframeDiv" runat="server"/>
</div>
</body>
ج#:
iframeDiv.Controls.Add(new LiteralControl("<iframe src=\"" + whatever.com + "\"></iframe><br />"));