التأثير: على سبيل المثال، في نظام إدارة المعدات، يجب ملء رقم الجهاز في مكان ما، ولكن عادةً ما يكون من الصعب تذكر رقم الجهاز، وكل ما يمكن تذكره هو الجهاز الموجود في أي قسم وموقع. لذلك، نريد إضافة زر بجوار مربع النص، بعد النقر، ستظهر صفحة فرعية يوجد جدول يقارن بين رقم الجهاز والتفاصيل المختلفة للجهاز، ولا أحتاج إلا إلى العثور على الجهاز بناءً على الموقع، انقر نقرًا مزدوجًا فوق هذا السجل، وسيتم ملء رقم الجهاز.
عملية التنفيذ:
وظيفة جافا سكريبت لفتح نافذة جديدة على الصفحة الرئيسية هي:
وظيفة الصفحة المفتوحة (htmlurl)
{
فار newwin=window.open(htmlurl,"newWin",toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,
resizable=yes,top=100,left=200,width=650,height=300");
newwin.focus();
عودة كاذبة.
}
</script>زر الاتصال:
<asp:Button ID = "Button1" runat = "server" Text = "Button" OnClientClick = "return openpage ('child.aspx')؛"/>
تربط الصفحة الفرعية مصدر البيانات الخاص بطريقة عرض الشبكة وتكتب التعليمات البرمجية التالية في حدث RowDataBound الخاص بها:
GridView1_RowDataBound (مرسل الكائن، GridViewRowEventArgs e) باطلة محمية
{
string s = "window.opener.document.getElementById('textbox1').value='" + e.Row.Cells[1].Text + "'; window. Close();";
إذا (e.Row.RowType != DataControlRowType.Header)
{
e.Row.Attributes.Add("ondblclick", s);//انقر نقرًا مزدوجًا فوق التحديد
// عندما يتحرك الماوس، اضبط لون الخط على "" واحفظ لون الخلفية الأصلي
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#C0C0FF';this.style.cursor='hand';");
// استعادة لون خلفية الصف عند تحريك الماوس بعيدًا
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");
}
}شرح: افتح صفحة جديدة من خلال window.open توجد علاقة بين الصفحتين الأصل والفرع. يمكن للصفحة الفرعية الوصول إلى الصفحة الأصلية (عناصر التحكم ووظائف js المكتوبة على الصفحة الرئيسية) من خلال أداة الفتح، ويمكن للصفحة الأصلية أيضًا الوصول إلى الصفحة الفرعية من خلال الصفحة الفرعية. على سبيل المثال، إذا كانت هناك وظيفة js sayhello() في الصفحة الرئيسية، فستحتاج فقط إلى opener.sayhello() لاستدعائها في الصفحة الفرعية.
باستخدام كمية صغيرة فقط من كود Javascript ودمجها مع asp.net، يتم تحقيق تأثير مفيد للغاية.