مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

tkord26

عضویت از 1394/02/31

چاپ کردن قسمتی از خبر

  • سه شنبه 22 دی 1394
  • 14:49
تشکر میکنم

با سلام

من یه صفحه ای طراحی کردم که در اون صفحه: عنوان خبر ومتن خبر رو میخوام چاپ کنم ولی با این تفاوت که همه توضیحات اون متن چاپ نشه و فقط قسمتی از متن مثلا 200 کاراکترش چاپ بشه! و توضیحات کاملش رو در صفحه دیگه که با net routing مشخص کردم چاپ بشه. من دنبال اون کدی هستم که اون 200 کارکتر اولش رو چاپ کنه! دوستان اگه میدونن کدش رو قرار بدن..ممنون

پاسخ های این پرسش

تعداد پاسخ ها : 13 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 22 دی 1394
  • 15:06

مقاله زیر رو ببینید

چاپ (پرینت) قسمتی از صفحه در Asp.Net

 

برای 200 کارکتر هم میتونید از SubString استفاده کنید

string Text="Text";

string ShortText=Text.SunbString(0,200);

 

کاربر سایت

tkord26

عضویت از 1394/02/31

  • پنجشنبه 24 دی 1394
  • 00:03

مهندس یه همچین کدی دارم برای نمایش خبر هام خب حالا میخوام 200 کارکتر اول توضیحات خبرم که فیلدشNote هستش رو بدست بیارم و نمایش بدم

کدش رو چطور تغییر بدم ؟ به کدهام نگاه کن..

e.Result = (from n in db.tbl_News
                        orderby n.Date descending
                        where n.GroupID == 4
                        select new
                        {
                            n.NewsID,
                            n.NewsTitle,
                            n.Note.Substring(0,200),
                            n.Date,
                            n.Image,
                            n.tbl_User.FullName,
                            n.tbl_SubGroup.SubGroupTitle,
                        }).Take(10).ToList();

 

کاربر سایت

tkord26

عضویت از 1394/02/31

  • پنجشنبه 24 دی 1394
  • 00:06

مهندس البته این خط از کدهام کار نمیکنه و خطا داره .فقط اینجا رو میخوام درست کنی

 n.Note.Substring(0,200),

میتونستم برای قسمت توضیحات خبر 2تا فیلد تعریف کنم ودر فیلد اول 200 تای اول رو چاپ کنم و در فیلد دوم بقیه توضیحات رو ولی بنظر من از نظر منطق کدنویسی خوب نیست! دوس دارم 200 کارکتر رو از یه فیلد بکشه بیرون و نمایش بده و کل مطلب رو در صفحه نمایش کل خبر هام نمایش بده. مهندس اگه میشه اون کدهام رو درست کنید.ممنون

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 24 دی 1394
  • 08:24

شما اول باید از بانک واکشی کنید و سپس با یک حلقه اینکار رو بکنید

البته باید چک کنید طول رشته بیشتر از 200 باشه وگرنه ارور میده

کاربر سایت

tkord26

عضویت از 1394/02/31

  • پنجشنبه 24 دی 1394
  • 13:02

مهندس من این قسمت از کار رو بلد نیستم  متاسفانه!

اگه امکان داره شما این قسمت رو برام بنویسید..هزار بار ازتون ممنون میشمheart

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 24 دی 1394
  • 13:41
var list = (from n in db.tbl_News
                        orderby n.Date descending
                        where n.GroupID == 4
                        select new
                        {
                            n.NewsID,
                            n.NewsTitle,
                            n.Note,
                            n.Date,
                            n.Image,
                            n.tbl_User.FullName,
                            n.tbl_SubGroup.SubGroupTitle,
                        }).Take(10).ToList();

for(int i=0;i<list.Count();i++)
{
if(list[i].Note.Lenght>200)
{
list[i].Note=list[i].Note..Substring(0,200)

}
e.Result=list;
}

 

کاربر سایت

tkord26

عضویت از 1394/02/31

  • پنجشنبه 24 دی 1394
  • 15:37
list[i].Note = list[i].Note.Substring(0, 200);

مهندس از این خط error میگیره !پیغام زیر رو نمایش میده هنگام Buildکردن پروژه!

Readonly Property Can not be  Used as an assignment target
list[i].Note ازین کد error میگیره
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 24 دی 1394
  • 15:56

شاید اشتباه تایپی داره

هیچکدام قرمز نشده ؟

 

کاربر سایت

tkord26

عضویت از 1394/02/31

  • پنجشنبه 24 دی 1394
  • 16:17
list[i].Note = list[i].Note.Substring(0, 200);

اشتباه تایپی هاشو درست کردم ولی باز زیرش خط قرمز داره!

list[i].Note

زیر این قسمت قرمز میشه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 24 دی 1394
  • 16:22

بهش ToString() اضافه کنید ببینید درست میشه

کاربر سایت

tkord26

عضویت از 1394/02/31

  • پنجشنبه 24 دی 1394
  • 16:25

نه هیچ فرقی نکرد!

کاربر سایت

tkord26

عضویت از 1394/02/31

  • جمعه 25 دی 1394
  • 00:18

مهندس بالاخره نوشتم ولی نیازی به حلقه نبود! کد ها رو نگاه کن خیلی راحت بود !یکم تغییر دادم و جواب داد. کد رو میذارم که بقیه دوستان هم استفاده کنند.

e.Result = (from n in db.tbl_News
                        orderby n.Date descending
                        where n.GroupID == 4
                        select new
                        {
                            n.NewsID,
                            n.NewsTitle,
                            Note = n.Note.Substring(0,200),
                            n.Date,
                            n.Image,
                            n.tbl_User.FullName,
                            n.tbl_SubGroup.SubGroupTitle,
                        }).Take(10).ToList();

 

کاربر سایت

tkord26

عضویت از 1394/02/31

  • شنبه 26 دی 1394
  • 00:07
<%#(Regex.Replace(DataBinder.Eval(Container.DataItem,"NewsText").ToString().Trim().Trim(), @"<(.|\n)+?>", "").Length>300)?Regex.Replace(DataBinder.Eval(Container.DataItem,"NewsText").ToString().Trim(), @"<(.|\n)+?>", "").Substring(0,300)+"...":Regex.Replace(DataBinder.Eval(Container.DataItem,"NewsText").ToString().Trim(), @"<(.|\n)+?>", "") %>

این هم جواب داد واسه اینکار! گذاشتم که استفاده کنید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)