هل هو مطلوب للاتصال DELLIVELL () قبل LoadControl ()؟
-
19-09-2019 - |
سؤال
هل هو مطلوب للاتصال TemplateControl.ResolveUrl()
قبل اجتيازها TemplateControl.LoadControl()
?
ما هي الطريقة المفضلة؟
LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");
أو ربما ResolveClientUrl()
?
المحلول
انها غير مطلوبة. لن أوصي حتى بالقيام بالطريقة الأولى، لأنها مجرد زائدة عن الحاجة وتضيف إلى التعقيد. تعني Tilde أنها نسبة إلى جذر التطبيق بالفعل - ResolveUrl
فقط يغيره ليكون نسبيا إلى الصفحة أو UserControl الذي تتصل به. في كلتا الحالتين، لن يتم تحميله.
تفضل الطريقة الثانية كأفضل ممارسات للمساعدة في الحرس من التغييرات الهيكلية النسبية إلى مشروعك.
من الأفضل أن يصنع سلسلة المسار موردا أو ثابتا على الأقل للتخلص من الأوتار السحرية وتجنب المفاجآت تماما.
لا تنتمي إلى StackOverflow