asp.net: الفرق بين RUNAT = "الخادم" وعناصر تحكم الملقم

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

  •  22-08-2019
  •  | 
  •  

سؤال

ما هو الفرق في الوظيفة بين

<asp:Button id="button1" Text="Click me" runat="server" OnClick="submitEvent" />

و

<input type="button" id="button1" runat="server" value="Click me" />

هل الإدخال مع RUNAT = السمة "الخادم" له خصائص وأساليب أخرى أو محدودة؟

وشكرا لك!

هل كانت مفيدة؟

المحلول

وأول واحد يخلق System.Web.UI.WebControls.Button في حين أن الثانية يخلق System.Web.UI.HtmlControls.HtmlInputButton.

وكلاهما تحكم الملقم، ولكن التحكم في مساحة الاسم WebControls ديه عموما أكثر قليلا من الوظائف من عناصر التحكم في مساحة الاسم HtmlControls. وعادة ما وضع بعض البيانات في ViewState لتتبع دولتهم، ولديهم الخادم أحداث إعادة النشر الجانب.

وكل عناصر التحكم في مساحة الاسم HtmlControls تتوافق تماما مع عنصر HTML، في حين يمكن اعتبار عناصر التحكم في مساحة الاسم WebControls بشكل مختلف اعتمادا على ما المتصفح الذي يطلب الصفحة يمكن أن تدعم.

نصائح أخرى

سيتم تحويل

وزر ممثلة <asp:Button runat="server".../> إلى عنصر تحكم خادم الويب مع نموذج دولة غنية والخصائص والأساليب المختلفة التي لديها تمثيل أكثر وضوحا في العالم الحقيقي مثل Button.Text = "إضغط هنا".

وزر ممثلة <input type="button" runat="server"..../> سيتم تحويلها إلى عنصر تحكم ملقم أتش تي أم أل ممثلة HtmlInputButton. مع محدودة الخصائص والأساليب والأحداث. معظم الخصائص تشبه في حكمه أتش تي أم أل مثل Button.Value = "إضغط هنا".

لاحظ أن عناصر في صفحة الترميز هي ما قبل معالجتها / جمعت قبل استخدامها وسيتم تحويلها إلى تمثيل الطبقة حيث يتم تمثيل كل عنصر من عنصر تحكم. يمكنك الوصول إلى ضوابط جانب الخادم التي يتم تحديدها من قبل RUNAT = سمة "الخادم" من رمز وراء لأنها سيكون لها السيطرة مطابقة الصحيح الخادم (ويب / أتش تي أم أل)، محتوى ثابت الآخرين بما في ذلك علامة <input type="button.../> مع من RUNAT = "الخادم "سوف تكون ممثلة على النحو LiteralControl.

والخط السابق هو ASP.NET، وXHTML بسيط الأخير.

وفي السابق يحصل على تحليل وتفسير على جانب الملقم، وبعد ذلك يتم إنشاء كود HTML الذي يتوافق الى حد كبير على سبيل المثال الثاني. زر ASP.NET هو أكثر قليلا حقا من المجمع الضوء على ال HTML ظيفة زر الإدخال، وينبغي أن تستخدم أينما كنت في حاجة للتعامل مع الحدث Click على جانب الملقم (أو في الحالة العامة أي أحداث)، وعادة ما يكون الطريق للذهاب، منذ كنت السماح ASP.NET مجردة فكرة زر على الصفحة الخاصة بك بالنسبة لك.

وظائف كل من الضوابط هي نفسها مع فارق أن الأول هو السيطرة صافي والثاني هو السيطرة HTML والتي يمكن أن تكون مصنوعة servercontrol باستخدام

وRUNAT = "الخادم".

وأول واحد غني evants وmetods THN ثانية واحدة ....

وليس هناك أحداث الخادم المرتبطة بهذه الضوابط، ولكن يمكنك استخدامه في codebehind لتغييره من الخصائص.

والخيار الثاني لن ربما حتى تنجح. RUNAT = "الخادم" سيتم تقديم مباشرة إلى الإخراج HTML حيث أنه لن يكون لها وظيفة وسوف كسر فقط التحقق من صحة HTML.

وإدخال عنصر HTML الذي له خصائص HTML فقط، وبالتأكيد أية أساليب من أي نوع.

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