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

ربط صفحتين ببعضهما

بدأه العصر الذهبي في 14 مايو 2011 · 14 رد · 1,028 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي استفسار إن تكرمتم

واجهتني مشكلة في برمجة صفحتين لهما علاقة ببعض

الصفحة الأولى /

فيها أسماء جميع الطلاب وارقامهم الجامعية جميعها في

Gridview

أريد عند الضغط على رقم طالب معين يقوم بإظهار معلوماته الخاصة به فقط في الصفحة الثانية

المشكلة لدي عند الضغط على أي رقم جامعي في الصفحة الأولى يقوم بإظهار معلومات جميع الطلاب الآخرين في الصفحة الثانية.

كيف اضع شرط في الصفحة الثانية بحيث لا يظهر إلا المعلومات التي طلبتها لشخص واحد

علما بأن الصفحة الثانية كذلك تحتوي علىGridview

لإظهار معلومات الطالب

البرمجة بـ (#asp.net in c )

وشكر الله لكم

تم تعديل هذه المشاركة بواسطة العصر الذهبي في 14 مايو 2011 في 11:11

#2

هذا مثال على GridView

انظر اليه قليلاً

<asp:GridView ID="GridView1" runat="server" Width="100%"    AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField = "aname" HeaderText="رقم الطالب"/>
<asp:BoundField DataField = "atitle" HeaderText="اسم الطالب"/>
<asp:HyperLinkField Text = "تفاصيل" DataNavigateUrlFields ="atitle"  DataNavigateUrlFormatString = "ResearchProposalByProposalFieldRedirct.aspx?title={0}"/>
</Columns>
</asp:GridView>

في المثال السابق عبارة عن عرض لاسماء الطلاب وارقامهم من قاعدة البيانات

وسوف يظهر رقم الطالب واسم الطالب بالاضافة الى كلمة بجوار كل اسم طالب هي تفاصيل

انظر للسطر التالي

 <asp:HyperLinkField Text = "تفاصيل" DataNavigateUrlFields ="atitle"  DataNavigateUrlFormatString = "ResearchProposalByProposalFieldRedirct.aspx?title={0}"/>

في هذا السطر سوف تظهر كلمة تفاصيل امام كل اسم طالب

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

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

اتمنى المثال يكون واضح

تم تعديل هذه المشاركة بواسطة ماكسيموس في 14 مايو 2011 في 11:36

#3

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

اخي قوم بتمرير رقم الطالب الى صفحة التفاصيل وقم باستقباله من ال QueryString في اداة ال SqlDataSource وذلك بوضع شرط يستخدم QueryStringParameter ليأخذ القيمه الممره للصفحه

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

#4

جزاك الله خيرا

هذا الكود الذي استخدمته يشبه الكود الذي وضعته بدرجة كبيرة


DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="STUDENT_NO" HeaderText="الرقم الجامعي"
SortExpression="STUDENT_NO" visible="false" />
<asp:BoundField DataField="FIRST_NAME_A" HeaderText="FIRST_NAME_A" visible="false"
SortExpression="FIRST_NAME_A" />




<asp:HyperLinkField DataNavigateUrlFields="STUDENT_NO" HeaderText="الرقم الجامعي" DataNavigateUrlFormatString="sch.aspx?STUDENT_NO={0}" DataTextField="STUDENT_NO" Target="_blank"> </asp:HyperLinkField>

</Columns>
</asp:GridView>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

لكن نفس المشكلة تظهر وهي تكرار معلومات الطالب ( جدوله الدراسي) وتظهر جميع الجداول للطلاب الآخرين في الصفحة الثانية

هل من اقتراح آخر؟ وجزيتم خيرا

VB Helper كتب:

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

اخي قوم بتمرير رقم الطالب الى صفحة التفاصيل وقم باستقباله من ال QueryString في اداة ال SqlDataSource وذلك بوضع شرط يستخدم QueryStringParameter ليأخذ القيمه الممره للصفحه

هل لي بمثال يوضح هذه الطريقة لأني لم اتعامل معها مسبقا وشكر الله لك

#5
العصر الذهبي كتب:

هل من اقتراح آخر؟ وجزيتم خيرا

ارفق لنا الصفحتين

#6

الصفحة الأولى والتي تظهر فيها جميع أسماء الطلاب وأرقامهم الجامعية

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="showlist.aspx.cs" Inherits="final.showlist" %>

<!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>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="STUDENT_NO" HeaderText="Student Id" 
                    SortExpression="STUDENT_NO"  visible="false" />
                <asp:BoundField DataField="FIRST_NAME_A" HeaderText="FIRST_NAME_A" visible="false"
                    SortExpression="FIRST_NAME_A" />
                <asp:BoundField DataField="FATHER_NAME_A" HeaderText="FATHER_NAME_A" visible="false"
                    SortExpression="FATHER_NAME_A" />
                <asp:BoundField DataField="FAMILY_NAME_A" HeaderText="FAMILY_NAME_A" visible="false"
                    SortExpression="FAMILY_NAME_A" />
                <asp:BoundField DataField="CURRENT_LEVEL" HeaderText="Level" 
                    SortExpression="CURRENT_LEVEL" />
                    <asp:TemplateField HeaderText="Full name" > 
                    <ItemTemplate> 

                            <%# Eval("FIRST_NAME_A") +""+  Eval("FATHER_NAME_A") +"" + Eval                            ("FAMILY_NAME_A")%> 

                    </ItemTemplate> 



                </asp:TemplateField>




                        <asp:HyperLinkField DataNavigateUrlFields="STUDENT_NO" HeaderText="Student Id" DataNavigateUrlFormatString="sch.aspx?STUDENT_NO={0}"  DataTextField="STUDENT_NO" Target="_blank"> </asp:HyperLinkField>

            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:connect %>" SelectCommand="SELECT TSTUDENT .STUDENT_NO, TSTUDENT .FIRST_NAME_A, TSTUDENT .FATHER_NAME_A, TSTUDENT .FAMILY_NAME_A, TSTUDENT .CURRENT_LEVEL
 FROM TSTUDENT,Std_Advisor_Table
WHERE TSTUDENT .STUDENT_NO= Std_Advisor_Table.Student_no AND Std_Advisor_Table.Teacher_id=8
"></asp:SqlDataSource>
    </div>
    </form>
</body>
</html>

الصفحة الثانية والتي فيها معلومات جدول الطالب والتي من المفترض أن تظهر لي فقط جدول واحد لكل طالب

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sch.aspx.cs" Inherits="final.sch" %>

<!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>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    <br />
    <br />
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="TYEAR" HeaderText="TYEAR" SortExpression="TYEAR" />
            <asp:BoundField DataField="TERM" HeaderText="TERM" SortExpression="TERM" />
            <asp:BoundField DataField="COURSE_NO" HeaderText="COURSE_NO" 
                SortExpression="COURSE_NO" />
            <asp:BoundField DataField="SECTION_NO" HeaderText="SECTION_NO" 
                SortExpression="SECTION_NO" />
            <asp:BoundField DataField="COURSE_DEPARTMENT" HeaderText="COURSE_DEPARTMENT" 
                SortExpression="COURSE_DEPARTMENT" />
            <asp:BoundField DataField="SCHED_SATURDAY" HeaderText="SCHED_SATURDAY" 
                SortExpression="SCHED_SATURDAY" />
            <asp:BoundField DataField="SCHED_SUNDAY" HeaderText="SCHED_SUNDAY" 
                SortExpression="SCHED_SUNDAY" />
            <asp:BoundField DataField="SCHED_MONDAY" HeaderText="SCHED_MONDAY" 
                SortExpression="SCHED_MONDAY" />
            <asp:BoundField DataField="SCHED_TUESDAY" HeaderText="SCHED_TUESDAY" 
                SortExpression="SCHED_TUESDAY" />
            <asp:BoundField DataField="SCHED_WEDNESDAY" HeaderText="SCHED_WEDNESDAY" 
                SortExpression="SCHED_WEDNESDAY" />
            <asp:BoundField DataField="BEGIN_TIME" HeaderText="BEGIN_TIME" 
                SortExpression="BEGIN_TIME" />
            <asp:BoundField DataField="END_TIME" HeaderText="END_TIME" 
                SortExpression="END_TIME" />
            <asp:BoundField DataField="BUILDING" HeaderText="BUILDING" 
                SortExpression="BUILDING" />
            <asp:BoundField DataField="ROOM" HeaderText="ROOM" SortExpression="ROOM" />
            <asp:BoundField DataField="STUDENT_NO" HeaderText="STUDENT_NO" 
                SortExpression="STUDENT_NO" />
            <asp:BoundField DataField="COURSE_UNITS" HeaderText="COURSE_UNITS" 
                SortExpression="COURSE_UNITS" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:connect %>" SelectCommand="Select DISTINCT  TSESSION.TYEAR, TSESSION.TERM, TSESSION.COURSE_NO, TSESSION.SECTION_NO, TSESSION.COURSE_DEPARTMENT, TSESSION .SCHED_SATURDAY, TSESSION .SCHED_SUNDAY, TSESSION .SCHED_MONDAY, TSESSION .SCHED_TUESDAY, TSESSION .SCHED_WEDNESDAY, TSESSION .BEGIN_TIME, TSESSION .END_TIME, TSESSION .BUILDING, TSESSION .ROOM,TSTUDENT.STUDENT_NO,TSENROLL.COURSE_UNITS
FROM TSESSION, TSTUDENT, TSENROLL
WHERE TSESSION.TYEAR= TSENROLL.TYEAR AND TSESSION.TERM= TSENROLL.TTERM AND TSESSION.COURSE_DEPARTMENT= TSENROLL. COURSE_DEPARTMENT AND TSESSION.COURSE_NO= TSENROLL. COURSE_NO AND TSESSION.TYEAR=TSTUDENT. TYEAR AND TSESSION.TERM=TSTUDENT.TERM


"></asp:SqlDataSource>
    </form>
</body>
</html>

وجزاكم الله خيرا

#7
VB Helper كتب:

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

اخي قوم بتمرير رقم الطالب الى صفحة التفاصيل وقم باستقباله من ال QueryString في اداة ال SqlDataSource وذلك بوضع شرط يستخدم QueryStringParameter ليأخذ القيمه الممره للصفحه

لو تكرمت أين اضع QueryString في كودي؟

أنا بحاجة ماسة لعملها لضيق الوقت وشكر الله لك

#8

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

اخي اذهب لأداة ال SqlDataSource واختر Configure ومنها اختر الزر Where وقم باضافة شرط وحدد نوع ال Parameter من القائمة المنسدلة QueryString وقم بكتابة اسم المتغير وفي حالتك Student_No من ثم تابع خطوات المعالج وقم بالتجربه

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

#9

قمت باختيار رقم الطالب في قريد فيو الصفحة الثانية للكويري استرنق

وعندما قمت بتشغيل الصفحة الاولى وبالضغط ع رقم اي طالب لا يظهر اي جدول

مالحل افادكم الله

#10

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

اخي ارفقت لك مثال لتوضيح استعمال ال QueryStringParameter

WebApplication1.zip

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

#11

السلام عليكم :)

الموضوع التالي فيه مشاركة لي بمثال للتنزيل قمت فيه باستخدام تقنية مشابهة لما شرحها ماكسيموس

/index.php?showtopic=241553&view=findpost&p=1195359&hl=&fromsearch=1

فكرته قائمة أخبار.. عند النقر على الخبر يمرر رقم الخبر إلى صفحة خاصة بعر ض الأخبار حسب رقمها في الكويري سترينج!

تم تعديل هذه المشاركة بواسطة AmeenSnw في 15 مايو 2011 في 13:07

#12

شكرا لمساعدتكم

المشكلة أن الصفحة الثانية التي بها جدول الطالب القريد فيو التي فيها تعتمد على أكثر من جدول ولا استطيع استخدام

خاصية ال WHERE التي فيها الكويري استرنق

لاحظوا جملة الاستعلام

SelectCommand="Select DISTINCT  TSESSION.TYEAR, TSESSION.TERM, TSESSION.COURSE_NO, TSESSION.SECTION_NO, TSESSION.COURSE_DEPARTMENT, TSESSION .SCHED_SATURDAY, TSESSION .SCHED_SUNDAY, TSESSION .SCHED_MONDAY, TSESSION .SCHED_TUESDAY, TSESSION .SCHED_WEDNESDAY, TSESSION .BEGIN_TIME, TSESSION .END_TIME, TSESSION .BUILDING, TSESSION .ROOM,TSTUDENT.STUDENT_NO,TSENROLL.COURSE_UNITS 
FROM TSESSION, TSTUDENT, TSENROLL 
WHERE TSESSION.TYEAR= TSENROLL.TYEAR AND TSESSION.TERM= TSENROLL.TTERM AND TSESSION.COURSE_DEPARTMENT= TSENROLL. COURSE_DEPARTMENT AND TSESSION.COURSE_NO= TSENROLL. COURSE_NO AND TSESSION.TYEAR=TSTUDENT. TYEAR AND TSESSION.TERM=TSTUDENT.TERM

ارشدوني وجزيتم خيرا

#13

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

اخي ارفقت لك مثال كامل يوضح الفكره, حتى ولو كانت المعلومات في الصفحه الاخرى تأتي من اكثر من جدول ما عليك الا اختيار الأعمده من الجداول الاخرى مع الاحتفاظ بال QureyStringParameter يعني قم باضافة الوسيط في جملتك السابقه لتكون


SelectCommand="Select DISTINCT TSESSION.TYEAR, TSESSION.TERM, TSESSION.COURSE_NO, TSESSION.SECTION_NO, TSESSION.COURSE_DEPARTMENT, TSESSION .SCHED_SATURDAY, TSESSION .SCHED_SUNDAY, TSESSION .SCHED_MONDAY, TSESSION .SCHED_TUESDAY, TSESSION .SCHED_WEDNESDAY, TSESSION .BEGIN_TIME, TSESSION .END_TIME, TSESSION .BUILDING, TSESSION .ROOM,TSTUDENT.STUDENT_NO,TSENROLL.COURSE_UNITS
FROM TSESSION, TSTUDENT, TSENROLL
WHERE TSESSION.TYEAR= TSENROLL.TYEAR AND TSESSION.TERM= TSENROLL.TTERM AND TSESSION.COURSE_DEPARTMENT= TSENROLL. COURSE_DEPARTMENT AND TSESSION.COURSE_NO= TSENROLL. COURSE_NO AND TSESSION.TYEAR=TSTUDENT. TYEAR AND TSESSION.TERM=TSTUDENT.TERM AND TSTUDENT.STUDENT_NO=@ID

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

#14

جزاك الله خيرا كثيرا

المشكلة كانت في الوسيط وتم بحمدالله

#15

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

الله يجزيك الخير .. بالتوفيق

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

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