ওয়েব ফোর্বস ভিউ ইঞ্জিনের সাহায্যে আমি সাধারণত টার্নারি অপারেটরটি খুব সাধারণ শর্তসাপেক্ষে, বিশেষত এইচটিএমএল বৈশিষ্ট্যের মধ্যে ব্যবহার করব। উদাহরণ স্বরূপ:
<a class="<%=User.Identity.IsAuthenticated ? "auth" : "anon" %>">My link here</a>
উপরের কোডটি <a>
ট্যাগটিকে শ্রেণীর দেবে auth
বা anon
ব্যবহারকারী প্রমাণীকৃত কিনা তার উপর নির্ভর করে।
রেজার ভিউ ইঞ্জিনের সাথে সমতুল্য বাক্য গঠন কী? যেহেতু রেজারের কোড এবং মার্কআপের মধ্যে কখন লাফানো এবং বাইরে বেরোনোর সময় "জানতে" এইচটিএমএল ট্যাগগুলির প্রয়োজন, আমি বর্তমানে নিম্নলিখিতগুলির সাথে আটকে আছি:
@if(User.Identity.IsAuthenticated) { <a class="auth">My link here</a> }
else { <a class="anon">My link here</a> }
এটি হ'ল একে হালকা, ভয়ানক ।
আমি এটির মতো কিছু করতে চাই তবে রেজারে কীভাবে তা বুঝতে লড়াই করছি:
<a class="@=User.Identity.IsAuthenticated ? "auth" : "anon";">My link here</a>
-
হালনাগাদ:
ইতিমধ্যে, আমি এই এইচটিএমএল সহায়তা তৈরি করেছি:
public static MvcHtmlString Conditional(this HtmlHelper html, Boolean condition, String ifTrue, String ifFalse)
{
return MvcHtmlString.Create(condition ? ifTrue : ifFalse);
}
যা রেজারের কাছ থেকে এটিকে বলা যেতে পারে:
<a class="@Html.Conditional(User.Identity.IsAuthenticated, "auth", "anon")">My link here</a>
তবুও, আমি আশা করছি যে কোনও এক্সটেনশন পদ্ধতিতে মোড়ানো না হয়ে টার্নারি অপারেটরটি ব্যবহার করার কোনও উপায় আছে।
IHtmlString
পদ্ধতিটি নিয়ে ফিরতে হবেnew HtmlString("Some stuff here");
...