এএসপি.এনইটি এমভিসি রেজার কনটেনটেশন


96

আমি রেজার ভিউ ইঞ্জিন ব্যবহার করে নীচের মত দেখতে একটি এইচটিএমএল তালিকা রেন্ডার চেষ্টা করছি:

<ul>
  <li id="item_1">Item 1</li>
  <li id="item_2">Item 2</li>
</ul>

এই তালিকাটি রেন্ডার করতে আমি যে কোডটি ব্যবহার করার চেষ্টা করছি তা হ'ল:

<ul>
@foreach (var item in Model.TheItems)
{            
  <li id="item_@item.TheItemId">Item @item.TheItemId</li>
}
</ul>

পার্সার শ্বাসরোধ করছে, কারণ এটি মনে করে যে আইডি অ্যাট্রিবিউটে আন্ডারস্কোরের ডানদিকে সমস্ত কিছুই সরল পাঠ্য এবং পার্স করা উচিত নয়। আমি কীভাবে পার্সারকে থিমটিআইডি রেন্ডার করতে নির্দেশ দেব তা সম্পর্কে আমি অনিশ্চিত।

আমি চাই না মডেল অবজেক্টের একটি সম্পত্তি যা আইটেম_ উপসর্গ অন্তর্ভুক্ত করে।

আমি জিকুয়েরি সাউটটেবলের সাথে তালিকাটি এবং সিরিয়ালাইজ ফাংশনটি ব্যবহার করছি যার জন্য এই বাক্য গঠনতে আইডি বৈশিষ্ট্যটি ফর্ম্যাট করা প্রয়োজন হিসাবে এই সিনট্যাক্সটিও রাখতে হবে।

উত্তর:


210

আপনার সাথে কলটির অভ্যন্তরীণ অংশটি মোড়ানো উচিত ( ):

<li id="item_@(item.TheItemId)">

4
আমি স্ট্রিং.ফর্ম্যাট দিয়ে শুরু করেছি তবে আপনার প্রতিক্রিয়ার সিনট্যাক্স এবং ব্রেভিটি পছন্দ করি, আমি এটিকে আমার পছন্দসই উত্তর হিসাবে চিহ্নিত করছি।
ডেভিড মার্চেলিয়া

আমি ভিজ্যুয়াল স্টুডিও 2013 এবং এএসপি.নেট এমভিসি 5 ব্যবহার করছি এবং এটি কাজ করছে না (স্ট্রিংটি সেট করা হয়েছে যেমন , @এবং প্রথম বন্ধনী সহ ) ... আমার জন্য শেষ পর্যন্ত যা কাজ করেছিল তা ছিল খুব কৃপণ id="foo" + Model.Bar
আয়ান ক্যাম্পবেল

এটি আমাকে প্রথম বন্ধনীতে পরিবর্তনশীল দেয়। দেখা যাচ্ছে যে রেজার এখন বুঝতে পারে যে একটি আন্ডারস্কোর + একটি ভেরিয়েবল = একটি স্ট্রিং + একটি ভেরিয়েবল।
হিউ

26

স্ট্রিং.ফর্ম্যাট ব্যবহার সম্পর্কে কীভাবে ? এটার মত:

<li id="@String.Format("item_{0}", item.TheItemId)">


এটি সঠিকভাবে বিশ্লেষণ করছে না, নেস্টেড ডাবল-কোটসের কারণে ... অভ্যন্তরীণ উদ্ধৃতিগুলি একক-কোট এবং বহিরাগত ডাবল-কোটগুলির মতো হওয়া উচিত id="@String.Format('foo{0}', item.Bar)"?
আয়ান ক্যাম্পবেল

10

আমি পছন্দ করি:

<li id="@String.Concat("item_", item.TheItemId)">

ভারবোসিটি সমর্থন বিকাশকারীদের ঠিক যা ঘটছে তা জানায় তাই এটি স্পষ্ট এবং বোঝা সহজ।


2

আপনি আরও স্ট্রিং সংহত করতে এই উপায়টি ব্যবহার করতে পারেন :

<li id="@("item-"+item.Order + "item_"+item.ShopID)" class="ui-state-default"></li>

এখানে অন্য পোস্ট।

আশা কাউকে সাহায্য করে।



0

এই পোস্টটি পুরানো বলে মনে হচ্ছে তবে এটি এখন সর্বশেষতম এমভিসিতে কাজ করে:

id="item_@item.TheItemId"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.