خادم جانب جافا سكريبت (aspx.cs) رمز Attributes.Add تغيير نص تسمية ل
-
20-08-2019 - |
سؤال
واني اسعى الى تغيير النص تسمية باستخدام JavaScript من جانب الملقم (عند _ النقر) وC # داخل الحدث Page_Load. على سبيل المثال، وأود أن أكتب شيئا مثل ما يلي:
Label1.Attributes.Add("onclick", "Label2.text='new caption'")
لا أحد يعرف الرمز الصحيح لهذا؟ أيضا، ما هو هذا النوع من التعليمات البرمجية المشار إليها. هل هو مجرد جافا سكريبت أو الجافا سكربت في C # أو هناك اسم محدد؟ وأخيرا، لا كتاب أو الموارد على الانترنت وجود تسرد خيارات control.attributes.add ( "الحدث"، "جملة") رمز للاستخدام مع C #؟
المحلول
وليس هناك من جانب الخادم جافا سكريبت (إلا إذا قمت بتغيير إلى منصة أخرى من ASP.NET حيث كنت فعلا استخدام جافا سكريبت كلغة الخادم). ما تقومون به هو إضافة سمة إلى العلامة أتش تي أم أل، وسيتم تنفيذ التعليمات البرمجية تماما على جانب العميل.
أولا، دعونا ننظر كيف يتم ذلك في HTML دون رمز جانب الخادم والخادم الجانب الضوابط:
<span onclick="document.getElementById('Label2').innerHTML='Thank you';">Click me</span>
<span id="Label2"></span>
لاستخدام عناصر التحكم Label
بدلا من ذلك، تعيين السمة عند _ النقر من التعليمات البرمجية جانب الملقم، عليك أن تفعل مثل هذا:
Label1.Attributes.Add("onclick", "document.getElementById('Label2').innerHTML='Thank you';");
وهذا ستعمل طالما أن الضوابط ليست داخل حاوية التسمية. إذا لم تكن، وإرفاق مسبقا هوية من الضوابط مع اسم الحاوية للحفاظ على فريدة من نوعها، لذلك تحتاج إلى استخدام الخاصية ClientID
لمعرفة ما هو معرف النهائي:
Label1.Attributes.Add("onclick", "document.getElementById('" + Label2.ClientID + "').innerHTML='Thank you';");
ووClientID
يحتوي دائما على الهوية التي يمكنك استخدامها للوصول إلى عنصر من جافا سكريبت، وبالتالي فإن كود الماضي دائما يعمل بغض النظر عما إذا كان عنصر التحكم في حاوية التسمية أم لا.
لمعرفة ما الصفات التي يمكن استخدامها، ويجب أن ننظر في وثائق HTML، على سبيل المثال وثائق Internet Explorer الخاص في العنصر فترة . عند النظر في documetation عن ميزة معينة، لاحظ معلومات المعايير، والتي سوف اقول لكم ما اذا كان يعمل في أي متصفح أو فقط في إنترنت إكسبلورر.
نصائح أخرى
ورمز أعلاه يضيف جافا سكريبت لعنصر تحكم ملقم المقدمة على العميل. نلقي نظرة على هذه المادة MSDN - باستخدام جافا سكريبت جنبا إلى جنب مع ASP.NET أ > لمزيد من المعلومات.
وIIRC، وسوف تحتاج إلى مرجع Label2
التي كتبها ClientID، وسوف تحتاج إلى كتابة بعض جافا سكريبت لتغيير قيمة النص التسمية (على ما أظن تسميات ASP.NET الحصول المقدمة من العلامات <span>
).