الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية ربط صفحة بالـ master page

بدأه kiooo96 في 1 أكتوبر 2012 · 6 رد · 3,286 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته...

عملت صفحة قبل ما أعمل الـ master page وأريد ربط تلك الصفحة بالـ master page كيف؟

أعمل على visual studio 2012, asp.net 4.5 بالسي شارب.

#2

السلام عليكم

الاسهل ان تعمل صفحة جديدة وتنقل البيانات عليها او ان تعمل صفحة جديدة وترى الاختلاف بينهما .

#3

السلام عليكم ورحمه الله وبركاته

ببساطه قم بنسخ محتوى الـ Body واضبط الخاصية MasterPageFile من ثم اذهب للـ Design Mode واختر Create Custom Content

.:: Wish to become better and better ::.

#4
VB Helper كتب:

السلام عليكم ورحمه الله وبركاته

ببساطه قم بنسخ محتوى الـ Body واضبط الخاصية MasterPageFile من ثم اذهب للـ Design Mode واختر Create Custom Content

وعليكم السلام ورحمة الله وبركاته...

أخي الحبيب ممكن توضيح أكثر.

#5

السلام عليكم

سأدرج مثال بسيط عن عمل ذلك :

بفرض أن الصفحة المنشأة Default.aspx وليكن الـ Source الخاص بها على الشكل التالي:

[code]<%@ Page Language="C#"  AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <table style="width:100%;">
            <tr>
                <td>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                </td>
                <td>
                    <asp:Button ID="Button1" runat="server" Text="Button" />
                </td>
                <td>
                    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                     </td>
                <td>
                     </td>
            </tr>
        </table>

    </div>
    </form>
</body>
</html>

نلاحظ من الكود أن الصفحة تحتوي على Table , textbox1 , textbox2 , button1

عند إنشائك صفحة MasterPage دون التعديل على عليها فإنها ستحتوي على عنصران من ContentPlaceHolder

لجعل الصفحة Default.aspx ترتبط بالصفحة MasterPage يجب إضافة الكود

MasterPageFile="~/MasterPage.master"

ضمن Source الصفحة Default.aspx هنا :

<%@ Page Language="C#"  AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

فيصبح على الشكل التالي:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master"  AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

ونسخ جميع المحتويات الصفحة Default.aspx المتضمنة في <Body> فقط ضمن ContentPlaceHolder فيصبح الـ Source الكامل للصفحة على الشكل التالي:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master"  AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div>

        <table style="width:100%;">
            <tr>
                <td>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                </td>
                <td>
                    <asp:Button ID="Button1" runat="server" Text="Button" />
                </td>
                <td>
                    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                     </td>
                <td>
                     </td>
            </tr>
        </table>

    </div>
    </asp:Content>

تم تعديل هذه المشاركة بواسطة باسل بوشناق في 24 أكتوبر 2012 في 19:53

#6

البيدج العادية هتلاقي في كود ال html من فوق كما يلي

<%@Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div>

</div>

</form>

</body>

</html>

أنت تحتاج ان تغير الكود كما يلي

<%@Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

</asp:Content>

فقط لا غير .. تحياتي ..بالتوفيق :)

#7

شكراً جزيلاً لكل من جاوب، وخصوصاً الأخ باسل بوشناق، الطريقة صحيحة 100%.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…