حلاقة إذا/آخر بناء جملة المشغل الشرطي [مكرر
-
25-09-2019 - |
سؤال
هذا السؤال لديه بالفعل إجابة هنا:
ليس لدي الكثير من الحظ ، لدي ما يلي إذا/آخر بيان في Razor الذي يعمل بشكل مثالي
<small>
@if(deletedView){
@:Deleted
}
else {
@:Created
} by
</small>
أحاول أن أفعل شيئًا كهذا:
<small>
@(deletedView) ? @:Deleted : @:Created by
</small>
لكن هذا يفشل فشلاً ذريعًا. ما هو بناء الجملة المناسب؟
المحلول
تحتاج إلى وضع التعبير الثلاثي بأكمله بين قوسين. لسوء الحظ ، هذا يعني أنه لا يمكنك استخدام "@:" ، ولكن يمكنك أن تفعل شيئًا كهذا:
@(deletedView ? "Deleted" : "Created by")
يدعم Razor حاليًا مجموعة فرعية من تعبيرات C# دون استخدام @() وللأسف ، فإن المشغلين الثلاثية ليسوا جزءًا من هذه المجموعة.
لا تنتمي إلى StackOverflow