PDA

View Full Version : چگونه متنی را به صورت پاراگراف از textbox در پایگاه داده ذخیره و بازیابی کنم ؟



navidjoon2
یک شنبه 23 فروردین 1388, 09:35 صبح
سلام من از asp.net2 و vb استفاده می کنم ، من توی پروژم از یه textbox با خاصیت چند سطری multiline استفاده می کنم،و از database access ، زمانی که کاربر متنی رو تایپ می کنه خیلی راحت تو پایگاه داده ذخیره میشه اما مسئله سر زدن کلید Enter است.در زمان بازیابی وقتی کاربر متن رو به صورت پاراگراف نوشته و اینتر زده متن بازیابی شده پشت سر هم میاد و خبری از اینتر ها نیست.به عبارتی متن به هم میریزه!:عصبانی++:

لطفا راه حل این مسئله رو بهم بگید.چگونه از textbox در پایگاه داده ذخیره کنم و چگونه بازیابی کنم که متن درست بازیابی بشه.

با تشکر از تمام اساتید.:لبخندساده:

Chabok
یک شنبه 23 فروردین 1388, 21:39 عصر
با سلام

همینجور که مستحضرید در کدها و صفحات Html فاصله ها و سطرها هر چقدر هم باشند یکی محسوب می شوند .

روش اول : شما می توانید در هنگام نوشتن متن روی صفحه ، کارکترهای خط بعدی که اصولا n\ و یا r\n\ می باشد را با <br> جایگزین کنید .

روش دوم : می توانید کدهای خود را بین تگ Pre نیز بگذارید . در این صورت کلیه فاصله ها و سطرها به همان صورت نمایش داده خواهد شد .

ولی روش اصولی همان روش اول است . مثلا اگر در خروجی whitespace ها رو حذف کنید روش دوم کار نخواهد داد .

موفق باشید .

salehbagheri
یک شنبه 23 فروردین 1388, 22:35 عصر
مقدار TextBox رو از تابع زير عبور داده و در بانك ذخيره كنيد!



Private Function SplitLines(ByVal Value As String) As String
Dim BodyLines As New List(Of String)
BodyLines.AddRange(Value.Split(Environment.NewLine ))
Dim Body As String = ""
For I As Integer = 0 To BodyLines.Count - 1
Body += BodyLines(I) + "<br />"
Next
Return Body
End Function


با تشكر فراوان!

amir.net
یک شنبه 23 فروردین 1388, 22:53 عصر
پيشنهاد من استفاده از fckeditor است

به غير از براورده كردن نياز شما امكانات ديگري هم داره كه ....

Chabok
دوشنبه 24 فروردین 1388, 12:36 عصر
با سلام و عرض ادب خدمت جناب salehbagheri


مقدار TextBox رو از تابع زير عبور داده و در بانك ذخيره كنيد!

این روش فقط یک اشکال کوچیک داره که چون برای من پیش اومده و مشتری ناراضی بوده اینجا عرض میکنم .
و مشکل هنگامی است که کاربر بخواد این متن رو در یک تکست باکس ساده ویرایش کنه و با تعدادی از این تگ های <br> مواجه میشه .
اگر هم تکست باکس راست به چپ باشه که دیگه مشخصه چه ظاهر ناپسندی پیدا میکنه .

بر اساس همین تجربه پیشنهاد میکنم متن به همان صورت وارد شده ، ذخیره شود و فقط هنگام نمایش در صفحه از تابع شما عبور کنه .

موفق باشید . خدانگهدار

maryam_272
دوشنبه 24 مرداد 1390, 14:46 عصر
از این دستور استفاده کنید:
TXTMAtn.text.Replace(Environment.NewLine, "<br />")
a

MiladSe7en
شنبه 29 مرداد 1390, 15:15 عصر
سلام

وقتی از یک TextBox که بصورت Multiline هست دیتایی ذخیره میشه، اگر Enter توش زده شده باشه n\ داخل دیتابیس ذخیره میشه، شما برای نمایش این داده کافیه n\ رو با <br/> جایگزین کنی

Mohandes2009
یک شنبه 30 مرداد 1390, 15:31 عصر
از یک ادیتور متن استفاده کن:لبخندساده: