আমি আমার পুরানো .aspx ভিউগুলি নতুন রেজার ভিউ ইঞ্জিনের সাথে আপডেট করছি। আমার কাছে এমন অনেকগুলি জায়গা রয়েছে যেখানে আমার কোড রয়েছে:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
আদর্শভাবে আমি এটি করতে চাই:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
তবে এখানে দুটি সমস্যা রয়েছে:
vote-up@{puzzle.UserVote
.... একটি কোড ব্লকের সূচনা হিসাবে @ প্রতীকটিকে বিবেচনা করছে না@puzzle.UserVote == VoteType.Up
প্রথম অংশটিকে দেখে মনে হচ্ছে@puzzle.UserVote
যেন এটি ভেরিয়েবলের মান রেন্ডার করে।
এই সমস্যাগুলি কীভাবে সমাধান করা যায় কেউ জানেন?
@(isSomething ? "class='test'" : "")
জাভাস্ক্রিপ্ট বা ইনজেকশন ইনজেক্ট করা, এটি সেগুলিকে সারণী হিসাবে এনকোড করবে '
এবং পৃষ্ঠাটি ভেঙে দেবে। সুতরাং আপনি অবশ্যই ব্যবহার করা উচিত Html.Raw("..")
। অন্যথায় উপরের কোডটি দিয়ে আপনি এমন কিছু দিয়ে শেষ করতে চান <p class='test'>
যা অবৈধ।
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")