اذهب إلى المحتوى

السؤال

نشر (معدل)

عندي تابع جافا سكربت يأخذ معامل هو المعرّف ID ويتم استدعاءه عند الحدث onclick لعنصر <a></a> وتمرير المعرّف. ما أريده هو تمرير هذا المعرّف إلى قيمة في كائن object ضمن الـ model الخاص بالصفحة جربت القيام بذلك ولكن يظهر لي أنه لا يمكنني تمرير متغير جافاسكربت إلى Razor فما هو الحل؟

javascript2razor.thumb.png.ba966eb87aa77

تم التعديل في بواسطة Programmer

Recommended Posts

  • 2
نشر (معدل)

لا يمكنك تمرير قيمة جافاسكربت إلى Razor مباشرة والسبب أن متغيرات Razor هي متغيرات Server Side ولا تكون موجودة بعد إرسال الصفحة إلى Client Side.

فعند إرسال طلب من الـ View إلى الخادوم فإنه يقوم بإنشاء الـ View مع HTML، CSS و Javascript ولا وجود لشيفرات #C أي أن الصفحة View تُترجم إلى لغات جانب العميل Client Side فقط.

بالرّغم من أن شيفرات جافاسكربت تبقى موجودة في حال بقاء الـ View على الخادوم ولكن سيتم تنفيذها فقط من قبل المتصفح. وهذا هو السبب في أنه يمكنك استخدام متغيرات Razor في HTML و Javascript ولكن ليس العكس.

بالنسبة لسؤالك يمكنك حل هذه المشكلة بتعريف عنصر HiddenFor ضمن HTML وإعطاءه معرّف Id ومن ثم استخدام الدالة ()val. لتمرير قيمة countryId كما في المثال التالي:

   <div class="field">

  @Html.HiddenFor(model => model.Agent.CountryId, new { @id = "countryIdValue" })
</div>

في السكربت اكتب:

<script>
        function getSelectedValue(countryId) {
            $("#countryIdValue").val(countryId);
        }
</script>

بالتوفيق

تم التعديل في بواسطة Lujain

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...