الثلاثي الاقتباس ؟ كيف يمكنني تحديد عدد databound جافا سكريبت سلسلة المعلمة في ASP.NET?

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

سؤال

كيف يمكنني تحديد جافا سكريبت ربط البيانات سلسلة المعلمة في مرساة OnClick الحدث ؟

  • لدي علامة مرساة في ASP.NET مكرر التحكم.
  • على OnClick الحدث مرساة يحتوي على مكالمة وظيفة جافا سكريبت.
  • جافا سكريبت وظيفة تأخذ سلسلة عن معلمة الإدخال.
  • سلسلة المعلمة يتم ملؤها مع ربط البيانات القيمة من مكرر.

أنا في حاجة إلى "التنصيص" من أجل Container.DataItem.
أنا في حاجة إلى 'واحدة ونقلت عن OnClick.

وأنا لا تزال بحاجة أكثر واحد محدد (الثلاثي الاقتباس؟) لمدخلات معلمة سلسلة من وظيفة جافا سكريبت الاتصال.

منذ أنا لا يمكن استخدام علامات الاقتباس المفردة' مرة أخرى, كيف يمكنني ضمان وظيفة جافا سكريبت يعرف معلمة الإدخال هو سلسلة و ليس صحيحا ؟

دون إضافية عروض الأسعار حول سلسلة الإدخال المعلمة وظيفة جافا سكريبت يعتقد أنني ويمر في عدد صحيح.

المرساة:

<a id="aShowHide" onclick='ToggleDisplay(<%# DataBinder.Eval(Container.DataItem, "JobCode") %>);' >Show/Hide</a>    

و هنا هو جافا سكريبت:

<script language="JavaScript" type="text/javascript">
/* Shows/Hides the Jobs Div */
function ToggleDisplay(jobCode)
{
    /* Each div has its ID set dynamically ('d' plus the JobCode) */
    var elem = document.getElementById('d' + jobCode);

    if (elem) 
    {
        if (elem.style.display != 'block') 
        {
            elem.style.display = 'block';
            elem.style.visibility = 'visible';
        } 
        else
        {
            elem.style.display = 'none';
            elem.style.visibility = 'hidden';
        }
    }
}
</script>
هل كانت مفيدة؟

المحلول

كان لي مؤخرا مشكلة مماثلة و الطريقة الوحيدة لحل استخدام سهل القديمة رموز HTML واحد (&#39;) و علامة الاقتباس المزدوجة (&#34;).

شفرة المصدر هو مجموع الفوضى بالطبع لكنه يعمل.

محاولة

<a id="aShowHide" onclick='ToggleDisplay(&#34;<%# DataBinder.Eval(Container.DataItem, "JobCode") %>&#34;);'>Show/Hide</a>

أو

<a id="aShowHide" onclick='ToggleDisplay(&#39;<%# DataBinder.Eval(Container.DataItem, "JobCode") %>&#39;);'>Show/Hide</a>

نصائح أخرى

onclick='javascript:ToggleDisplay("<%# DataBinder.Eval(Container.DataItem, "JobCode")%> "); '

استخدام مثل أعلاه.

دون إضافية عروض الأسعار حول سلسلة الإدخال المعلمة وظيفة جافا سكريبت يعتقد أنني ويمر في عدد صحيح.

يمكنك أن تفعل بعض بدائية سلسلة وظيفة القوة جافا سكريبت إلى تغيير في سلسلة ؟ مثل

value = value + ""

محاولة وضع النص الزائد داخل نصي من جانب الخادم كتلة وصل.

onclick='<%# "ToggleDisplay(""" &  DataBinder.Eval(Container.DataItem, "JobCode") & """);" %>'

تحرير:أنا متأكد من أنك يمكن أن مجرد استخدام علامات الاقتباس المزدوجة خارج كتلة البرنامج النصي أيضا.

تمرير متغير إلى وظيفة دون اقتباس مفردة أو مزدوجة اقتباس

<html>
    <head>
    </head>
    <body>
        <script language="javascript">
        function hello(id, bu)
        {
            alert(id+ bu);
        }
        </script>
        <a href ="javascript:
            var x = &#34;12&#34;;
            var y = &#34;fmo&#34;;
            hello(x,y)">test</a>
    </body>
</html>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top