سؤال

هل هو مطلوب للاتصال TemplateControl.ResolveUrl() قبل اجتيازها TemplateControl.LoadControl()?

ما هي الطريقة المفضلة؟

LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");

أو ربما ResolveClientUrl() ?

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

المحلول

انها غير مطلوبة. لن أوصي حتى بالقيام بالطريقة الأولى، لأنها مجرد زائدة عن الحاجة وتضيف إلى التعقيد. تعني Tilde أنها نسبة إلى جذر التطبيق بالفعل - ResolveUrl فقط يغيره ليكون نسبيا إلى الصفحة أو UserControl الذي تتصل به. في كلتا الحالتين، لن يتم تحميله.

تفضل الطريقة الثانية كأفضل ممارسات للمساعدة في الحرس من التغييرات الهيكلية النسبية إلى مشروعك.

من الأفضل أن يصنع سلسلة المسار موردا أو ثابتا على الأقل للتخلص من الأوتار السحرية وتجنب المفاجآت تماما.

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