حلاقة إذا/آخر بناء جملة المشغل الشرطي [مكرر

StackOverflow https://stackoverflow.com/questions/4607843

  •  25-09-2019
  •  | 
  •  

سؤال

ليس لدي الكثير من الحظ ، لدي ما يلي إذا/آخر بيان في Razor الذي يعمل بشكل مثالي

<small>
  @if(deletedView){
     @:Deleted
  } 
  else {
     @:Created
  } by
</small> 

أحاول أن أفعل شيئًا كهذا:

<small>
  @(deletedView) ? @:Deleted : @:Created by
</small>

لكن هذا يفشل فشلاً ذريعًا. ما هو بناء الجملة المناسب؟

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

المحلول

تحتاج إلى وضع التعبير الثلاثي بأكمله بين قوسين. لسوء الحظ ، هذا يعني أنه لا يمكنك استخدام "@:" ، ولكن يمكنك أن تفعل شيئًا كهذا:

@(deletedView ? "Deleted" : "Created by")

يدعم Razor حاليًا مجموعة فرعية من تعبيرات C# دون استخدام @() وللأسف ، فإن المشغلين الثلاثية ليسوا جزءًا من هذه المجموعة.

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