1. الفرق بين <%=...%> و <%#... %>:
الإجابة: يتم استدعاء <%=...%> عند تنفيذ البرنامج، ويتم استدعاء <%#... %> بعد أسلوب DataBind()
2. ما أنواع البيانات التي يتلقاها عنصر التحكم؟
الإجابة: تشتمل عناصر التحكم التي تتلقى Bind بشكل عام على عناصر تحكم المجموعة مثل DropDownList وDataList وDataGrid وListBox. العناصر الرئيسية المجمعة هي ArrayList وHashtable وDataView وDataReader، وسنتمكن من ذلك في المستقبل لا يوجد خطأ في ربط DataTable :)
3. DataBind، سيقوم النظام افتراضيًا بتحويل البيانات التي تم الحصول عليها إلى سلسلة، وكيفية تحويلها إلى أنواع أخرى؟
DataBinder.Eval(Container.DataItem،"نوع التحويل"، "التنسيق")
"التنسيق" الأخير اختياري، وعمومًا لا داعي للقلق بشأنه. Container.DataItem عبارة عن عنصر بيانات مجمع، ويشير "نوع التحويل" إلى أشياء مثل Integer وString وBoolean
4. مساحة الاسم الرئيسية:
<% @ Import Namespace="System.Data" %> يستخدم عند معالجة البيانات
<% @ Import Namespace="System.Data.ADO" % > يُستخدم عند استخدام ADO.net؛
<% @ Import Namespace="System.Data.SQL" %> قاعدة بيانات SQL Server فقط
<% @ Import Namespace="System.Data.XML" %> لا داعي للنظر إلى ما يتم استخدامه لمعالجة XML
<% @ Import Namespace="System.IO" %> يستخدم عند معالجة الملفات
<% @ Import Namespace="System.Web.Util" %> سيستخدمه الجميع عند إرسال رسائل البريد الإلكتروني
<% @ Import Namespace="System.Text" %> يتم استخدام الخصائص والأساليب الشائعة لـ 5.Connections (SQLConection أو ADOConnection) عند تشفير النص
:
|.ConnectionString يحصل على العبارة أو يقوم بتعيينها للاتصال بقاعدة البيانات
|. ConnectionTimeout يحصل على الحد الأقصى للوقت للاتصال بقاعدة البيانات أو يقوم بتعيينه، وهو أيضًا وقت المهلة
|. تحصل قاعدة البيانات على اسم قاعدة البيانات التي سيتم فتحها على خادم قاعدة البيانات أو تقوم بتعيينها
|. يحصل DataSource على DSN أو يقوم بتعيينه، والجميع على دراية به :)
|. كلمة المرور احصل على كلمة المرور أو قم بتعيينها
|. يحصل معرف المستخدم على اسم تسجيل الدخول أو يقوم بتعيينه
|. تحصل الحالة على حالة الاتصال الحالي
|. فتح() يفتح الاتصال
|. Close() يغلق الاتصال
|.Clone() استنساخ اتصال. (هاها، الأغنام يمكنها التواصل وأنا أيضًا)
مثال:
SQLConnection myConnection = new SQLConnection();
myConnection.DataSource = "mySQLServer";
myConnection.Password = "";
myConnection.UserID = "sa";
myConnection.ConnectionTimeout = 30;
myConnection.Open();
myConnection.Database = "northwind";
myConnection.IsolationLevel = IsolationLevel.ReadCommitted
6. الأساليب وخصائص الأوامر الشائعة الاستخدام
|. ActiveConnection يحصل على الاتصالات أو يحددها
|.CommandText ينفذ عبارة SQL أو اسم الإجراء المخزن (StoredProcedure).
|.CommandTimeout الحد الأقصى لوقت التنفيذ
|.CommandType هناك ثلاثة أنواع من عمليات الأوامر (StoredProcedure، Text، TableDirect)، الافتراضي هو Text.
|. المعلمات المستخدمة عند تشغيل الإجراءات المخزنة
|. Execute() ينفذ عبارات SQL أو الإجراءات المخزنة
|. ExecuteNonQuery() كما هو مذكور أعلاه، الفرق هو أنه لا يُرجع مجموعة سجلات
|. Clone() أمر الاستنساخ
مثال:
string mySelectQuery = "SELECT * FROM Categories ORDER BY CategoryID";
stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";
SQLCommand myCommand = new SQLCommand(mySelectQuery);
myCommand.ActiveConnection = new SQLConnection(myConnectString);
myCommand.CommandTimeout = 15;
myCommand.CommandType = CommandType.Text;< /FONT >
7. طريقتان لفتح وإغلاق قاعدة البيانات:
1.MyConnection.Open(); // افتح الاتصال
MyConnection.Close();
2.MyCommand.ActiveConnection.Open();
MyCommand.ActiveConnection.Close()
8. استخدم DataSet لإضافة البيانات وتعديلها وحذفها في قاعدة البيانات
أ. إضافة البيانات
DataRow dr=MyDataSet.Tables["UserList"].NewRow();
dr["UserName"] = "الأخبار الأسبوعية";
dr["ReMark"] = "100";
dr["Comment"] = "MM جميل";
MyDataSet.Tables.Rows.Add(dr);
ب
MyDataSet.Tables["UserList"].Rows[0]["UserName"]="Brother Flying Knife";
ج
MyDataSet.Tables["UserList"],Rows[0].Delete();
d.Restore data
إذا (MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
هـ. اكتشاف ما إذا كان قد تم تغيير مجموعة البيانات
إذا (MyDataSet.HasChanges)
{
//حفظ الكود
}آخر{
// نظرًا لعدم وجود تغييرات، ليست هناك حاجة للحفظ لتوفير الوقت.
}
و. تحديث قاعدة البيانات
MyComm.Update(MyDataSet); // تحديث كافة الجداول في قاعدة البيانات
MyComm.Update(MyDataSet,"UserList"); // تحديث جدول
9.DataGrid تنفذ وظيفة الترحيل
allowPaging = "True" // يشير إلى السماح بالترحيل، وهذا هو الأهم. مع ذلك، يمكننا ترقيم الصفحات.
PageSize = "5" // يحدد عدد السجلات المعروضة في كل صفحة، إذا لم تتم كتابتها، فسيكون العدد الافتراضي هو 10.
PagerStyle-HorizontalAlign = "يمين" // يحدد موضع عرض الأوجه، الافتراضي هو اليسار
PagerStyle-NextPageText = "الصفحة التالية" // تغيير <> إلى الصفحة السابقة وسلاسل الصفحة التالية
PagerStyle-PrevPageText = "الصفحة السابقة"
PagerStyle-Mode = "NumericPages" // تغيير <> إلى 123 شاشة رقمية
10. قم بعرض إجمالي عدد الصفحات الموجودة والصفحة التي يوجد بها التقرير حاليًا
الصفحة الحالية هي: <font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
إجمالي عدد الصفحات هو: <font color=red><%=DataGrid1.PageCount%></font><br>
11. الترحيل الشخصي
يحتوي "Close Contact ASP.Net (14)" الخاص بالمبرمجين على الكود الكامل
12. لإعادة تعيين الصفحة إلى حالة صالحة
IValidator فال؛
foreach (فال في أدوات التحقق من الصحة)
{
Val.IsValid = true;
}
13. أعد تنفيذ تسلسل التحقق بالكامل
IValidator فال؛
foreach (فال في أدوات التحقق من الصحة)
{
Val.Validate();
}
14. تعطيل التحقق من العميل
<%@ لغة الصفحة = "c#" clienttarget=المستوى الأدنى %>
15.استخدام عناصر التحكم في المكرر وDataList وDataGrid"
يمكن لعناصر التحكم هذه تبسيط العديد من سيناريوهات تطبيقات الويب الشائعة، بما في ذلك التقارير وعربات التسوق وقوائم المنتجات والاستعلامات
النتائج وقائمة التنقل. يعتبر المكرر هو عنصر التحكم الوحيد الذي يسمح بأجزاء HTML في القالب الخاص به.
16. الفرق بين Server.Execute("another.aspx") وServer.Transfer("another.aspx"):
تنفيذ عمليات النقل من الصفحة الحالية إلى الصفحة المحددة وإرجاع التنفيذ إلى الصفحة الحالية
النقل هو نقل التنفيذ بالكامل إلى الصفحة المحددة
17. يمكن أن يكون لملف XML مخطط خاص به، أو يمكن أن يتواجد في ملف *.xsl، ولكن يجب تحديد المعلومات في العقدة الجذرية لمستند xml من خلال السمة xmlns، كما هو موضح أدناه:
<rootelement xmlns="x-schema:scheduledSchema.xsl">
18. قراءة ملفات XML
FileStream myfs=new Filestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
StreamReader myreader=new StreamReader(myfs);
DataSet myds=new DataSet();
myds.ReadXml(myreader);
19. التحكم في التعبير العادي RegularExpressionValidator
معنى الرمز
^ حدد مكان بدء الشيك
$ يحدد نهاية الشيك
[] للتحقق مما إذا كانت القيمة المدخلة تتطابق مع أحد الأحرف الموجودة بين قوسين مربعين
W يسمح بإدخال أي قيمة
d{} يشير "d" إلى أن قيمة الإدخال هي رقم، ويشير {} إلى عدد تكرارات نوع البيانات المحدد
+ يشير إلى أنه سيتم إضافة عنصر واحد أو أكثر إلى التعبير الذي يتم التحقق منه
مثال: تنسيق البريد الإلكتروني (يحتوي على علامة @ وينتهي بـ .com/.net/.org/.edu)
validationexpression="^[w-]+@[w-]+.(com|net|org|edu)$"
20. عبارات هامة لعمليات البيانات في عنصر تحكم DataGrid:
الخاصية: DataKeyField = "userid" // قم بتعيين معرف المستخدم كمفتاح أساسي للجدول. لا يمكن تحديث قيمة هذا الحقل إلى قاعدة البيانات. من الأفضل تعيين المفتاح الأساسي للجدول كمفتاح أساسي لـ DataGrid.
SqlCommand.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item.ItemIndex]; // استرداد المفتاح الأساسي للصف المراد تحديثه (قم بتعيين قيمة المفتاح الأساسي للصف المحدد حاليًا إلى الأمر معلمة
SqlCommand.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text; // قم بتعيين قيمة الصف المعدلة للمعلمة
21. الضوابط المخصصة:
أ. التحكم بالمستخدم (مثل صفحة إنشاء ASP)
(I). قم بإنشاء صفحة، واسحب عنصر التحكم، وقم بتعيين الخصائص/الأساليب. سيحتوي توجيه @Control في <% @Control Language="C#" Debug="True" %> على رمز التحكم.
(II) احفظ كملف *.ascx، مثل a.ascx.
(III).الاستخدام: الرأس < %@Register Tagprefix = "MyFirstControl" TagName = "MyLbl" Src = "a.axcs" %>
// Tagprefix هي بادئة عنصر التحكم، مثل ASP:TextBox في ASP
//يتم استخدام TagName لتحديد اسم عنصر التحكم المخصص
// Src يحدد مصدر ملف التحكم
الجسم: <MyFirstControl:MyLbl runat = "الخادم" id = "AllMine" MyText = "ناجح" />
ب. إنشاء عناصر تحكم مخصصة باستخدام C#
(I). قم بإنشاء ملف تعليمات برمجية خالص، وورث التحكم في الفئة الأساسية، واحفظه بتنسيق *.cs، مثل a.cs.
(II) قم بتجميع التعليمات البرمجية لإنشاء تجميع: csc /t:library /r:System.dll,System.Web.Dll a.cs.
// المكتبة تخبر مترجم C# بإنشاء تجميع
// /r:System.dll System.Web.Dll يخبر مترجم C# بالإشارة إلى التجميع المحدد
(III) ضع ملف dll الذي تم إنشاؤه في دليل bin
(رابعا). الاستخدام: <% @Register TagPrefix="Mine" Namespace="MyOwnControls" Assembly="a" %>
22. الاحتياطات اللازمة للضوابط المركبة:
public class MyCompositin:Control,INamingContainer //INamingContainer: إذا كانت هناك مثيلات متعددة لعنصر التحكم هذا على الصفحة، فيمكن لهذه الواجهة أن تمنح كل مثيل {} علامة فريدة
this.EnsureChildControls();// يشير إلى أن عنصر التحكم المركب سيكون الكل يتم عرض عناصر التحكم التابعة على الصفحة. تتحقق هذه الطريقة مما إذا كان عنصر تحكم الخادم يحتوي على عناصر تحكم فرعية
CreateChildControls
23. متى يتم استخدام Button/LinkButton/ImageButton/HyperLink؟
1. يتم استخدام Button وImageButton لتمرير البيانات مرة أخرى إلى الخادم.
2. يستخدم الارتباط التشعبي للتنقل بين الصفحات
3. يتم استخدام LinkButton لحفظ البيانات على الخادم أو الوصول إلى البيانات الموجودة على الخادم
24. التتبع والتصحيح
مسار:
1. التتبع على مستوى الصفحة: قم بتضمين تعليمات الصفحة التالية في بداية الصفحة <%@ Page Trace="True" TraceMode="SortByCategory/SortByTime" %>
رسالة مخصصة:
Trace.Write("هذه هي السلسلة التي سيتم عرضها");
Trace.Warn("هذه هي السلسلة التي سيتم عرضها"); // مثل Trace.Write، باستثناء أن الخط أحمر
تحقق مما إذا كان يتم استخدام التتبع
مثال: if(Trace.IsEnabled) { Trace.Warn("تم تمكين التتبع")}
2. تتبع مستوى التطبيق: <trace Enabled="true" pageOutput="true"/> في قسم <System.Web> من ملف Web.config
25. إعداد ذاكرة التخزين المؤقت:
1.التخزين المؤقت للإخراج:
1. إعدادات الصفحة: أضف <%@ OutputCache Duration="120" VaryByParam="none" %> إلى بداية الصفحة التي تحتاج إلى التخزين المؤقت
ملاحظة: يظل محتوى الإخراج دون تغيير خلال الدقيقتين الأخيرتين من طلب هذه الصفحة.
ثانيا.الإعدادات البرمجية:
تستخدم بشكل أساسي الأساليب ضمن فئة System.Web.HttpCachePolicy
(1). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120)); // يجب تحديد وقت انتهاء الصلاحية في هذه الطريقة، مثل هذه // الجملة هي دقيقتين
(2).Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));
Response.Cache.SetSlidingExpiration(true); // "انتهاء الصلاحية القابل للتعديل" يستخدم بشكل أساسي في المواقف التي يكون فيها عدد الزيارات كبيرًا في البداية، ولكن بعد ذلك يكون عدد الزيارات // متوازنًا
الوظيفة: يقوم السطر الأول بتعيين وقت انتهاء صلاحية ذاكرة التخزين المؤقت، ويقوم السطر الثاني بتشغيل انتهاء الصلاحية المنزلق (انتهاء الصلاحية القابل للتعديل).
2. ذاكرة التخزين المؤقت للبيانات:
(1).DataView mySource (2).تعيين قيمة لـ mySource؛
(3).Cache["myCache"]=mySource (4).mySource=(DataView)Cache["myCache"]
26. النشر: انسخ مباشرة إلى خادم المنتج لنسخ البيان: XCOPY <source_path> <destination_path> //XOPY يقبل المسارات المادية فقط، وليس المسارات الافتراضية