PDA

View Full Version : محدودیت در تعداد کلمات در DisplayFor



sunn789
چهارشنبه 17 مهر 1392, 22:04 عصر
سلام
یه جدل دارم که اطلاعات رو از بانک میخونه یکی از فیلدهای بانک تعداد کلمات زیادی رو نگهداری میکنه ، میخوام در زمانی که در index نمایش داده میشه و از @Html.DisplayFor(modelItem => item.E_Textاستفاده کردم حالا میخوان تعداد محدودی از کلمات رو نشون بده و بقیش زمانی نمایش داده بشه که روی details , ویا edite کلیک کرد که خوب این قسمتش اماده است فقت تو نمایش اولیه به چه نحو تعداد کلمات رو محدود کنم
متشکر

hakim22
چهارشنبه 17 مهر 1392, 23:08 عصر
در کنترلر قبل از ارسال له ویو طول رشته رو چک کنید و با SubString برش بدید.

sunn789
شنبه 27 مهر 1392, 13:11 عصر
مشکل اینجاست که ما از این کنترل برای ویرایش و جزئیات هم استفاده میکنیم ، و فقط میخوام توی ویوو اولی تعدا کلمات کمترب داشته باشم.

iman mohadesi
شنبه 27 مهر 1392, 20:40 عصر
شاید این Helper بدردت بخوره


@helper Truncate(string input, int length)
{
if (input.Length <= length) {
@input
} else {
@input.Substring(0, length)<text>...</text>
}
}


و نحوه استفاده


@Truncate(item.Name, 25)

sunn789
شنبه 27 مهر 1392, 21:43 عصر
از راهنمایی متشکز میشه یه کمک کنید این helper جدید رو کجا باید بنویسم

iman mohadesi
شنبه 27 مهر 1392, 22:08 عصر
از راهنمایی متشکز میشه یه کمک کنید این helper جدید رو کجا باید بنویسم

خواهش
می تونی در ساده ترین شکل ممکن تو همون Viewیی که میخوهای ازآن استفاده کنی قرار بدی دقیقا زیر جایی که مدل را تعریف میکنی


@model IEnumerable<Prn.Models.XXX>
@helper Truncate(string input, int length)
{
if (input.Length <= length) {
@input
} else {
@input.Substring(0, length)<text>...</text>
}
}
@{
ViewBag.Title = "Index";
}