• آموزش ایجاد و استفاده از    Custom HTML Helper  بدون استفاده از  Extension Methodدرون صفحات Razor
آموزش ایجاد و استفاده از Custom HTML Helper بدون استفاده از Extension Methodدرون صفحات Razor
1395/09/12 - 14:04:21 // MVC 5 & 6 // 0 نظر // 176 بازدید

اکثر ما با چگونگی ایجاد Helper توسط Extension Method ها آشنا هستیم، ولی نوع دیگری از آنها نیز وجود دارد که می تواند درون صفحات Razor ایجاد شده و در سراسر پروژه به سادگی استفاده گردد.

بسمه تعالی


آموزش ایجاد و استفاده از Custom HTML Helper بدون استفاده از Extension Methodدرون صفحات Razor

اکثر ما با چگونگی ایجاد Helper توسط Extension Method ها آشنا هستیم، ولی نوع دیگری از آنها نیز وجود دارد که می تواند درون صفحات Razor ایجاد شده و در سراسر پروژه به سادگی استفاده گردد.

Helper بسته کدهای شامل Markup و .... هستند که انجام وظیفه ای را بر عهده گرفته و میتوان از آنها بارها استفاده کرد. در عمل میتوان آنها رو نوعی کامپوننت نامید.

برای شروع یک پروژه ASP.NET MVC 5 ایجاد نمایید. اصولن درون فولدرهای پروژه یک فولدر به نام App_Code وجود دارد که در باید به سراغ آن برویم.اگر در پروژه شما این فولدر وجود نداشت، از طریق Add در Solution Explorer آنرا ایجاد نمایید. درون این فولدر یک فایل CsHtml به نام MyHelpers.cshtml ایجاد نمایید. محتوای فایل به شکل زیر تنظیم شود.
 
  1. @helper MakeNote(string content) {  
  2.   <div class="note"   
  3.        style="border: 1px solid black; width: 90%; padding: 5px; margin-left: 15px;">  
  4.     <p>  
  5.       <strong>Note</strong>   @content  
  6.     </p>  
  7.   </div>  
  8. }  
 

خوب حال به سادگی از این Helper در همه View ها میتوان استفاده نمود. به روش استفاده به شکل زیر دقت کنید.

 
  1. <!DOCTYPE html>  
  2.   <head>  
  3.     <title>Test Helpers Page</title>  
  4.   </head>  
  5.   <body>  
  6.     <p>This is some opening paragraph text.</p>  
  7.   
  8.     <!-- Insert the call to your note helper here. -->  
  9.     @MyHelpers.MakeNote("My test note content.")  
  10.   
  11.     <p>This is some following text.</p>  
  12.   </body>  
  13. </html>  
 حال از این Helper میتوان به دفعات در سطح پروژه استفاده نمود. این نوع Helper در مواردی که با اجزای View بیشتر در رابطه باشیم، نسبت به Extension Method ها برتری دارد.
 
علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
نظرات کاربران
ارسال نظر