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

استفسار في ASP.NET

بدأه محمد ديوب في 15 سبتمبر 2010 · 5 رد · 816 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحباً

انا مبرمج php أتعلم ASP.NET حالياً واجهت بعض المشاكل التي أود أن أسئالكم عنها

لدي الكود التالي :

<form id="Form1" method="get" action="Default.aspx" runat=server>
	<center>
	من فضلك قم بتسجيل الدخول : <br />
    	اسم المستخدم : <input type="text" name="var1" id="var1" ><br />
    	كلمة المرور : <input type="text" name="var2" ><br />
    	<input type="submit" value="سجل دخول" >
	</center>
	</form>

و أستقبل بيانات الفورم في صفحة Default.aspx كالتالي :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    	TextBox1.Text = Request.QueryString("var1")
  TextBox2.Text = Request.QueryString("var2")
	End Sub

المهم عند تشغيل التطبيق و ادخال البيانات في فورم تسجيل الدخول و بعد النقر على زر تسجيل الدخول يظهر لي الخطأ التالي :

اقتباس
فشل التحقق من صحة viewstate MAC. إذا كان هذا التطبيق مضيفًا بواسطة كتلة أو مزرعة ويب، تأكد من أن تكوين <machineKey> يحدد validationKey نفسه وخوارزمية التحقق من الصحة نفسها. لا يمكن استخدام AutoGenerate في كتلة.

بعد عدة محاولات قمت بحذف الخاصية runat=server فعمل التطبيق بشكل صحيح

السؤال :

ما هي فائدة runat=server و هل سأحتاجها عند العمل على استضافة حقيقية و لماذا ظهر الخطأ عندما أضفتها ؟

#2

فائدتها انها هنا من يقوم بتفسير الاداة هو السيرفر

الان برايي يوجد لديك farmwork جاهزة للتعامل مع الدخول والخروج والصلاحيات membership and login

حاول تعلمها ابحث بالمنتدى بالمواضيع المثبتة ل robotic

In bad state

#3

انت عندما وضعت السطر

TextBox1.Text = Request.QueryString("var1")

تحتاج ان يكون TextBox1 الى ان يكون runtat=server وكذلك اي اداة اخرى تضعها وتحتاج اليها في الكود .

اما التي لا تحتاج اليها في الكود فيمكنك الاستغناء عنها مثل

<input type="text" name="var1" id="var1" >

ما ينصح به هو استخدام ادوات asp.net وعدم استخدام ادوات html العادية .

وانصحك لتعلم ال asp.net ان تترك ما تعلمته في php جانبا وان تبدأ من جديد .

اما اذا اردت الترجمة الحرفية لكل سطر في php الى المقابل في asp فمن الافضل لك البقاء على php .

#4

أخي X-File و أخي TareqVB شكراً لتجاوبكم

اقتباس
فائدتها انها هنا من يقوم بتفسير الاداة هو السيرفر

من يمكنه أن يفسر الأداة غير السيرفر ؟

اقتباس

انت عندما وضعت السطر

TextBox1.Text = Request.QueryString("var1")تحتاج ان يكون TextBox1 الى ان يكون runtat=server وكذلك اي اداة اخرى تضعها وتحتاج اليها في الكود .

هذا الكود الخاص ب TextBox1 لدي و هو runtat=server

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

علماً انه عندما أزلت الخاصية runtat=server عمل التطبيق بنجاح فهل من الضرورة وضعها ؟

اقتباس
ما ينصح به هو استخدام ادوات asp.net وعدم استخدام ادوات html العادية .

لماذا أخي الكريم ؟

اقتباس

وانصحك لتعلم ال asp.net ان تترك ما تعلمته في php جانبا وان تبدأ من جديد .

اما اذا اردت الترجمة الحرفية لكل سطر في php الى المقابل في asp فمن الافضل لك البقاء على php .

أتفق معك في الرأي فهناك اختلاف كبير بينهما

#5

السلام عليكم

اقتباس
من يمكنه أن يفسر الأداة غير السيرفر ؟

الكلينت . باستخدام جافاسكريبت.

اقتباس
علماً انه عندما أزلت الخاصية runtat=server عمل التطبيق بنجاح فهل من الضرورة وضعها ؟

عندما تريد استخدام هذه من خلال الكود يجب وضعها واذا ازلتها لن يعمل السطر

TextBox1.Text = Request.QueryString("var1")

وسيظهر خطأ ان TextBox1 غير معرف .

اقتباس
ما ينصح به هو استخدام ادوات asp.net وعدم استخدام ادوات html العادية .

النصيحة من مايكروسوفت ك Best practice

#6
اقتباس

عندما تريد استخدام هذه من خلال الكود يجب وضعها واذا ازلتها لن يعمل السطر

TextBox1.Text = Requist.QueryString("var1")

حسناً أخي لاحظ الكود الذي وضعته في اول مشاركة في حال تركت runtat=server الكود لا يعمل حتى بعض اضافة runtat=server إلى TextBox1 أما في حالة ازالتها فالكود يعمل بشكل صحيح !!!!!wacko.gif

هل استنتج من كلامك السابق ان الكود لن يعمل بشكل صحيح على استضافة حقيقية في حالة ازالة runtat=server ?

بالمناسبة قلت لي اخي الكريم أن استخدم ادوات asp بدلاً من أدوات html فأين أجد زر الارسال submit في ASP.NET

شكراً لك أخي الكريم و شكراً لتفهمك أتعبتك معي blush.gif

تم تعديل هذه المشاركة بواسطة محمد ديوب في 18 سبتمبر 2010 في 13:31

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