خادم جانب جافا سكريبت (aspx.cs) رمز Attributes.Add تغيير نص تسمية ل

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

سؤال

واني اسعى الى تغيير النص تسمية باستخدام 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 عن ميزة معينة، لاحظ معلومات المعايير، والتي سوف اقول لكم ما اذا كان يعمل في أي متصفح أو فقط في إنترنت إكسبلورر.

scroll top