TOC

This article is currently in the process of being translated into Arabic (~68% done).

The basics:

Events

ASP.NET is an event-driven way of making web applications. With PHP and Classic ASP, you have one file, which is executed line after line, from start to end. However, ASP.NET is very different. Here we have events, which are either activated by the user in one way or another. In the previous example, we used the Page_Load method. Actually, this is an event, which the Page class calls when the page is loaded. We will use the same technique in the next example, where we will add a couple of controls to our simple hello world example. To make it a bit more interesting, we will change the "world" word with something defined by the user. Have a look at this codelisting, where we add two new controls: A Button control and a TextBox control.

<form id="form1" runat="server">
<div>
    <asp:Label runat="server" id="HelloWorldLabel"></asp:Label>
    <br /><br />
    <asp:TextBox runat="server" id="TextInput" /> 
    <asp:Button runat="server" id="GreetButton" text="Say Hello!" />
</div>
</form>

كما ترى, تمت الآن إضافة عنصري تحكم جديدين لكنهما لا يقومان بالكثير حاليا. يمكنك تنفيذ المثال إن كنت تريد التحقق من ذلك بنفسك. فاذا نقرت على الزر سيتم فقط إعادة تحميل الصفحة ببساطة. دعنا نغير ذلك ولنبدأ بالطريقة السهلة. يأتي فيجوال ستوديو مع محرر نصوص WYSIWYG وعلى الرغم من أنني بالكاد استخدم هذه الميزة ، إلا أنها تجعل بعض الأمور أسهل ، كإنشاء الأحداث.

إذاً, انتقل إلى وضع التصميم من خلال النقر على زر التصميم "Design" الموجود في الأسفل ,سترى عندها التصميم المرئي للصفحة. نريد إضافة حدث النقر على الزر وهذا أمر بسيط للغاية ماعليك سوى النقر مرتين على الزر ليتم الانتقال إلى ملف الكود المصدر الخاص بهذه الصفحة. كما ترى تمت إضافة طريقة أو اجرائية جديدة بالاسم GreetButton_Click. إذا ألقيت نظرة على الملف Default.aspx (عليك الانتقال من طريقة عرض "التصميم" إلى طريقة عرص "المصدر") سترى أنه تمت إضافة سمة إلى عنصر تحكم الزر الخاص بنا تحدد الطريقة التي سيتم استدعاؤها عند النقر على الزر. تم كل هذا العمل ببساطة بنقرة مزدوجة .

دعنا الآن نقوم بإضافة بعض الكود للحدث الجديد .نريد استخدام النص من الحقل النصي "TextBox" مع عنصر التحكم "Label" السابق الذي يحوي العبارة " "Hello, world!" وهذا بسيط جدًا أيضًا ، وكل ما يتطلبه الأمر هو سطر واحد من التعليمات البرمجية

HelloWorldLabel.Text = "Hello, " + TextInput.Text;

نفّذ المشروع مرة أخرى (ctrl+F5) وسترى صفحتنا القديمة مع عنصري التحكم الجديدين. لاتزال عبارة "Hello, world!" موجودة وذلك لأننا وضعناها ضمن حدث تحميل الصفحة "Page_Load" .الآن أدخل إسماً في حقل النص وانقر على الزر. هانحن ذا ,تم تغيير النص ، لقد استخدمنا للتو الأحداث مع عناصر التحكم للمرة الأولى .لاحظ أنه بإمكاننا إضافة كود برمجي لا يتم استدعاؤه بالضرورة ما لم يقم المستخدم بتنفيذ أمر محدد. وهذا يختلف عن الأسلوب الكلاسيكي القديم الجيد لـ ASP / PHP ،لكنك سوف تعتاد على ذلك قريبًا ، وعلى الأرجح سيعجبك كثيرا.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!