• 0

كيف أمرّر قيمة متغير جافا سكربت إلى MVC Razor؟

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

javascript2razor.thumb.png.ba966eb87aa77

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن