এমভিসি 3 রেজার: কোড ব্লকের মধ্যে এইচটিএমএল প্রদর্শিত হচ্ছে


131

আমার সিএসটিএমএল ফাইলগুলিতে আমার এই জাতীয় স্টাফ সহ প্রচুর ব্লক রয়েছে:

@if(Model.foo)
{
    <span>Hello World</span>
}

স্প্যানটি থাকার একমাত্র কারণ হ'ল আমি এটির এইচটিএমএল ট্যাগগুলিতে ঘিরে না থাকলে "হ্যালো ওয়ার্ল্ড" এইচটিএমএল এর একটি অংশ এটি সনাক্ত করতে বাধ্য করার জন্য অন্য কোনও উপায় খুঁজে পাচ্ছি না। কোডটি প্রদর্শনের জন্য অর্থহীন ট্যাগ যুক্ত করার সাথে অন্তর্ভুক্ত না হওয়ার জন্য কি কোনও ভাল উপায় আছে?

উত্তর:


226

আপনি @:পালাতে ব্যবহার করতে পারেন :

@if(Model.foo)
{
    @:Hello World
}

বা বিশেষ <text>ট্যাগ যা প্রতিক্রিয়াতে আউটপুট করা হয়নি:

@if(Model.foo)
{
    <text>Hello World</text>
}


10

আপনি নীচে হিসাবে পাঠ্য যোগ করতে পারেন:

@if(Model.foo)
{
    @:Hello World
}

আপনি যখন @রেজার ব্যবহার করেন তখন এটি কোড ব্লক মোডে স্যুইচ করুন। সুতরাং উপরোক্ত হিসাবে আপনাকে পাঠ্য নির্দিষ্ট করতে হবে।



8

অনেকগুলি বিকাশকারীরা উপরের বিভিন্ন উপায়ে সরবরাহ করেছেন .. এখানে আরও একটি যা এমভিসি 4 তে সূক্ষ্মভাবে কাজ করছে .. আমি আশা করি এটি এমভিসি 3 এর জন্যও কাজ করবে ..

@if(Model.foo)
{
    @Html.Label("Hello World")
}

0

উপরের উত্তরগুলি দুর্দান্ত। আমি এ সম্পর্কে স্কট গুথ্রির নিবন্ধটির একটি লিঙ্ক অন্তর্ভুক্ত করব, কারণ এটি আরও কয়েকটি উদাহরণ এবং ব্যাখ্যা দেখায়।

https://weblogs.asp.net/scottgu/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax

@if (p.UnitsInStock == 0 {
  <text>
    Donec in ante vitae purus consequat laoreet ut elementum
    purus. Ut ut tempus nulla, quis ultrices est. Integer
    pharetra ante in lectus porta, a lacinia ex faucibus. 
    Aliquam magna risus, pretium vel neque at, laoreet 
    ultrices lectus. Morbi posuere luctus risus. Nullam 
    tincidunt massa egestas nunc tempor scelerisque.  
  </text>
}


@if (p.UnitsInStock == 0 {
  @: Line 1
  @: Line 2
  @: Line 3
}

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