حجة عابرة إلى وظيفة جافا سكريبت من asp.net ج الحدث # مدار الساعة زر

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

سؤال

ولقد لتمرير قيمة سلسلة التي يتم تخزينها في متغير وظيفة جافا سكريبت

والذي ادعو في حدث النقر على زر بلدي asp.net ج تطبيق # شبكة الإنترنت.

ولقد حاولت بعض الطرق ولكن لا تحصل بالضبط.

وأدناه هو رمز التي أنا باستخدام

 protected void Button1_Click(object sender, EventArgs e)
    {
        myButton.Attributes.Add("onclick", "openNewWindow(spcd)");
    }

وهذا هو بلدي وظيفة الحدث انقر على زر

'opennewwindow' هو بلدي وظيفة جافا سكريبت و "spcd 'هو متغير بلدي الذي هو متغير السلسلة، والذي هو متغير سلسلة العام.

وأدناه هي لغتي وظيفة جافا سكريبت

<script type="text/javascript">

function openNewWindow(spcd) {
//alert("hello");
var tt = spcd;
alert(tt);
var theurl="http://www.gmail.com";
 popupWin = window.open(theurl,
 '_blank',
 'menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=640, height=480, left=0, top=0')

}

</script>

ولكن عندما أفعل مثل هذا بلدي جافا سكريبت في لا يعمل.

ويمكن لأي أحد أن يقول الذي هو السبيل الفعلية للقيام بذلك

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

المحلول

ورمز كنت قد قدمت لا يدعو وظيفة جافا سكريبت من C #. ما تقوم به هو إضافة سمة جديدة إلى زر لعقف معالج أحداث جافا سكريبت. لن يتم تنفيذ JS حتى المرة التالية النقر فوق الزر. إذا كنت ترغب في تشغيل وظيفة JS على النقر على زر، تفعل ما تقومون به على Page_Load، أو في أي مكان، ولكن ليس في معالج الأحداث الزر.

وبالإضافة إلى ذلك، يمكنك CONCAT السلسلة التي تحتاج ليتم إرسالها حيث بلغت قيمة السمة مثل ذلك:

وmyButton.Attributes.Add("onclick", "openNewWindow('" + spcd + "');";

وفقط للتأكد من كنت تفعل ذلك في بعض معالجات الأحداث دورة حياة الصفحة (NOT THE انقر على زر معالج الحدث)، وأيضا أن المتغير spcd له قيمة تحتاجها تلك النقطة في دورة حياة.

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