كيف يمكنك معرفة ما إذا كان قد تم تعيين نموذج RunAT = Server؟

StackOverflow https://stackoverflow.com/questions/1475083

  •  16-09-2019
  •  | 
  •  

سؤال

عند ترميز صفحة ASP.NET، يمكنك عموما إضافة سمة RunAT في ASPX:

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

هل من الممكن أن نقول في الكود خلفه إذا لم يقم المستخدم بذلك، فقد فعل ذلك فقط:

<form id="form1">

هنا يحتوي النموذج على معرف "Form1" ولكن في حالتي، لا أعرف هذا. الرمز وراء هذا مثل هذا ما أبحث عنه:

if(Page.HasForm)
{
}
هل كانت مفيدة؟

المحلول

يمكنك فقط الحصول على علامة نموذج واحدة مع "RunAT = Server" على صفحة .PX. كل ما عليك فعله هو التحقق لمعرفة ما إذا كانت الصفحة .form خالية أو لا. إذا كان ذلك فارغا، فلا يوجد نموذج تم وضع علامة عليه بخادم RunAT.

if (Page.Form != null)
{

}

إنه جزء RunAT = "Server" جزء يجعل صفحة .aspx معالجة عنصر وإنشاء كائن مقابلة على جانب الخادم. إذا لم يكن مكون يعمل على الخادم، فلا تتم إضافته إلى التسلسل الهرمي للتحكم في الصفحة.

نصائح أخرى

var v = this.form.tagname؛ // يحصل على اسم النموذج الذي تم كتمه ك RunAT.

بالطبع إذا لم يتم كتمت ك RunAt، فلن يتم تشغيل التعليمات البرمجية الخاصة بك على أي حال ...

عند الكود في C # أو Visual Basic في صفحة الرموز، لن تتمكن من الوصول إلى الكائن الذي لا يحتوي على مجموعة خيار RunAT = Server.

يمكنك الوصول بسهولة إلى جميع عناصر التحكم من صفحة باستخدام صفحة Me.Controls أو شيء من النوع من النوع (لا أعرف الرمز الدقيق ولكنه قريب من هذا) وتحقق من نوع عنصر التحكم للحصول على النموذج.

لماذا تحتاج إلى معرفة ذلك؟ إذا لم يكن لدى الصفحة نموذج RunAT = Server، فلا يمكن استخدامه حقا كصفحة خادم.

كنت قادرا على الوصول إلى النموذج من CodeBehind:

Response.Write(form1.Name);

بدون RunAt = "Server"، ستحصل فقط على خطأ في التحويل البرمجي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top