View Full Version : ضرورت استفاده از Html Helper
morika
شنبه 24 اسفند 1392, 18:57 عصر
سلام
می خواستم بدونم فرق این دوتا کد باهم چیه؟
@foreach(var item in Model) {
<tr>
<td>
@item.Name
</td>
<td>
@item.Year
</td>
</tr>
}
@foreach(var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Year)
</td>
</tr>
}
مهدی کرامتی
شنبه 24 اسفند 1392, 21:46 عصر
خاصیت اصلی HTML Helper ها کم کردن مقدار کدی است که می نویسید.
در مثالی که شما زده اید استفاده کردن یا نکردن از Helper تفاوتی ندارد، زیرا یک کار ساده قرار است انجام شود.
اما اگر قرار بود بجای Html.DisplayFor از Html.DisplayNameFor استفاده شود (که صفت Display[Name] را که همان نام نمایشی پراپرتی است برای شما استخراج کرده و نمایش می دهد) دیگر ماجرا خیلی متفاوت می شود، زیرا اگر بخواهید کاری که DisplayNameFor برای شما انجام می دهد را خودتان انجام دهید میبایست مقدار زیادی کد بنویسید و با دشواری هایی به عنوان کدنویس مواجه شوید که صرف انرژی برای انجام آنها (به دلیل وجود ابزار آماده فوق الذکر) ضرورتی ندارد.
جمع بندی: Helper ها قرار است به شما کمک کنند!
چه کمکی؟ -> زندگی شما را به عنوان یک کدنویس آسان تر کنند.
hakim22
شنبه 24 اسفند 1392, 21:55 عصر
فرقی ندارند اما کد اولی در صورتی کار می کند که شما یک List داشته باشید و کد دومی با IEnumerable کار می کند. معمولا در LINQ خروجی به صورت IEnumerable است و دلایل خاص خودش را دارد. این نوع Generic ها کلی تر هستند.استفاده از Helper ها برای یک تگ خاص به این دلیل جلب توجه میکند که کد را شبیه #C میکند. اما کاربرد واقعی آن وقتی معلوم میشود که شما مجموعه ای از کدهای Html دارید و میخواهید مداوم از آنها استفاده کنید. مثلا در jQueryUI برای هر ابزار می توانید یک Helper بسازید و بعدا مانند توابع #C ان را فراخوانی کنید. کد شما نظم بیشتر و تغییر پذیری بیشتری خواهد داشت.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.