PDA

View Full Version : سوال: ذخیره کردن یک متن با قالب مشخص



Masoome_das
سه شنبه 23 فروردین 1390, 13:29 عصر
سلام دوستان
اگر بخواهیم یک متن را مثلا متن یک خبر را در Sql ذخیره کنیم و سپس در سایت نمایش دهیم آیا این امکان وجود دارد که این متن را در یک قالب مشخص ذخیره کنیم.
به عنوان مثال متن زیر را مشاهده کنید من می خواهم یک متن با همین قالب ذخیره شود یعنی هر جا که از اینتر استفاده شده است به همان صورت دیده شود

مواد لازم براي 4 نفر:

شكر :: 120 گرم
آب :: 2 قاشق غذاخوري
آب ليمو ترش :: نصف يك عدد
شير( پاستوريزه) :: 280 ميلي ليتر

تا آن جایی که من اطلاع دارم اطلاعت به صورت یک رشته پشت سر هم ذخیره می شود و همه در یک خط نمایش داده می شود.

jaykob
سه شنبه 23 فروردین 1390, 13:40 عصر
سلام دوستان
اگر بخواهیم یک متن را مثلا متن یک خبر را در Sql ذخیره کنیم و سپس در سایت نمایش دهیم آیا این امکان وجود دارد که این متن را در یک قالب مشخص ذخیره کنیم.
به عنوان مثال متن زیر را مشاهده کنید من می خواهم یک متن با همین قالب ذخیره شود یعنی هر جا که از اینتر استفاده شده است به همان صورت دیده شود

مواد لازم براي 4 نفر:

شكر :: 120 گرم
آب :: 2 قاشق غذاخوري
آب ليمو ترش :: نصف يك عدد
شير( پاستوريزه) :: 280 ميلي ليتر

تا آن جایی که من اطلاع دارم اطلاعت به صورت یک رشته پشت سر هم ذخیره می شود و همه در یک خط نمایش داده می شود.


سلام

شما برای وارد کردن اطلاعات از ckeditor و یا ویرایشگر های مشابه استفاده کنید خروجی در قالب تگ های HTML ذخیره می شود و برای نمایش هم می تونید از کنترل های متفاوت استفاده کنید کنترل Literal قابلیت رندر کردن html را دارد

b.paseban
سه شنبه 23 فروردین 1390, 14:11 عصر
سلام بر شما و با تشکر از جناب jaykob .
یه ادیتور دیگه هم که من بهتون پیشنهاد میدم tiny mce هستش.
توی سایت یه سرچ بزن هم فایل دانلودش هست هم طریقه استفاده از اون.
موفق باشین.

Masoome_das
سه شنبه 23 فروردین 1390, 21:08 عصر
شما برای وارد کردن اطلاعات از ckeditor و یا ویرایشگر های مشابه استفاده کنید خروجی در قالب تگ های HTML ذخیره می شود و برای نمایش هم می تونید از کنترل های متفاوت استفاده کنید کنترل Literal قابلیت رندر کردن html را دارد

سلام من این ویرایشگر را از این آدرس برداشتم
http://ckeditor.com/download
ولی این برنامه را در پروزه من به صورت یک TexBox ساده نمایش می دهد در دات نت 3.5, 4 هم امتحان کردم ولی نتیجه نگرفتم اگر نکته خاصی برای استفاده ازش وجود دارد ممنون می شوم راهنمایی کنید.

arta.nasiri
سه شنبه 23 فروردین 1390, 21:38 عصر
سلام

اینو ببین
http://barnamenevis.org/showthread.php?224642-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-CKEditor-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-jQuery-%D9%88-AJAX

alibabaei2
سه شنبه 23 فروردین 1390, 21:44 عصر
سلام
از ادیتور tiny mce استفاده کنید

b.paseban
سه شنبه 23 فروردین 1390, 21:49 عصر
شما باید این فایل رو به هدر برنامه اضافه کنی:
<script src="tinymce/jscripts/tiny_mce/tiny_mce.js" type="text/javascript"></script>

بعدشم این تکه کد رو به صفحه اضافه کن:




<script type="text/javascript">
tinyMCE.init({
// General options
mode: "textareas",
theme: "advanced",
plugins: "safari,spellchecker,pagebreak,style,layer,table,sa ve,advhr,advimage,advlink,emotions,iespell,inlinep opups,insertdatetime,preview,media,searchreplace,p rint,contextmenu,paste,directionality,fullscreen,n oneditable,visualchars,nonbreaking,xhtmlxtras,temp late,imagemanager,filemanager",

// Theme options
theme_advanced_buttons1: "save,newdocument,|,bold,italic,underline,strikethr ough,|,justifyleft,justifycenter,justifyright,just ifyfull,|,styleselect,formatselect,fontselect,font sizeselect",
theme_advanced_buttons2: "cut,copy,paste,pastetext,pasteword,|,search,replac e,|,bullist,numlist,|,outdent,indent,blockquote,|, undo,redo,|,link,unlink,anchor,image,cleanup,help, code,|,insertdate,inserttime,preview,|,forecolor,b ackcolor",
theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,su p,|,charmap,emotions,iespell,media,advhr,|,print,| ,ltr,rtl,|,fullscreen",
theme_advanced_buttons4: "insertlayer,moveforward,movebackward,absolute,|,st yleprops,spellchecker,|,cite,abbr,acronym,del,ins, attribs,|,visualchars,nonbreaking,template,blockqu ote,pagebreak,|,insertfile,insertimage",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_location: "bottom",
theme_advanced_resizing: true,

// Example content CSS (should be your site CSS)
content_css: "css/example.css",

// Drop lists for link/image/media/template dialogs
template_external_list_url: "js/template_list.js",
external_link_list_url: "js/link_list.js",
external_image_list_url: "js/image_list.js",
media_external_list_url: "js/media_list.js",

// Replace values for the template plugin
template_replace_values: {
username: "Some User",
staffid: "991234"
}
});
</script>



بعدشم هر texbox که به صفحه اضافه کنی و TextMode="MultiLine" رو قرار بدی به یه ادیتوری تبدیل میشه
البته اینارو واسه ادیتور tinymce گفتم.

Masoome_das
سه شنبه 23 فروردین 1390, 23:16 عصر
بعدشم هر texbox که به صفحه اضافه کنی و TextMode="MultiLine" رو قرار بدی به یه ادیتوری تبدیل میشه
البته اینارو وا
سه ادیتور tinymce گفتم.

دوست عزیز من روش شما را هم امتحان کردم ولی نتیجه نداد اگر برایتون مقدور یک نمونه برنامه بگذارید. نمونه کد هایی که در اینترنت دیدم مربوط به PHP است من برای دانت می خوام

jaykob
چهارشنبه 24 فروردین 1390, 10:40 صبح
دوست عزیز من روش شما را هم امتحان کردم ولی نتیجه نداد اگر برایتون مقدور یک نمونه برنامه بگذارید. نمونه کد هایی که در اینترنت دیدم مربوط به PHP است من برای دانت می خوام

سلام دوست عزیز برای ckeditor شما به شکل زیر عمل کنید یک textbox قرار بدید بر روی فرم خودتون و کد زیر را در Page_Load قرار بدید :




String StrScript = "CKEDITOR.replace( '" + txtMessage.ClientID + "', {toolbar:'Full'});";
ClientScript.RegisterStartupScript(this.GetType(), "Editor", StrScript, true);


و بعد در سورس صفحه فایل های مربوطه را لینک کنید به شکل زیر :



<link href="Editor/contents.css" rel="stylesheet" type="text/css" />
<script src="Editor/ckeditor.js" type="text/javascript"></script>


توجه داشته باشد که ValidateRequest صفحه را باید برابر false قرار بدید . و به آدرس دهی لینک ها هم توجه کنید که درست باشند .

موفق باشید

alonemm
چهارشنبه 24 فروردین 1390, 10:56 صبح
دوست عزیز من روش شما را هم امتحان کردم ولی نتیجه نداد اگر برایتون مقدور یک نمونه برنامه بگذارید. نمونه کد هایی که در اینترنت دیدم مربوط به PHP است من برای دانت می خوام
باسلام:
هسته این ویرایشگر متن JS هست و شما میتونید در هر زبان برنامه نویسی ازش استفاده کنید.

موفق باشید.

Masoome_das
چهارشنبه 24 فروردین 1390, 17:39 عصر
دوستان از راهنمایی همه شما ممنون اشکال کار را فهمیدم مرورگر من از کدهای Js پشتیبانی نمی کرد برای همین نمایش داده نمی شد حالا Fierfox نصب کردم
حالا اگر براتون ممکن بگید اطلاعات را با چه فرمتی دریافت کنم در DataBase ذخیره کنم و با چه کنترلی دباره نمایش بدهم.

jaykob
چهارشنبه 24 فروردین 1390, 17:48 عصر
دوستان از راهنمایی همه شما ممنون اشکال کار را فهمیدم مرورگر من از کدهای Js پشتیبانی نمی کرد برای همین نمایش داده نمی شد حالا Fierfox نصب کردم
حالا اگر براتون ممکن بگید اطلاعات را با چه فرمتی دریافت کنم در DataBase ذخیره کنم و با چه کنترلی دباره نمایش بدهم.

شما فقط کافیه مقدار text اون تکس باکسی که قرار دادید رو وارد دیتابیس کنید خودش با تگ های HTML ذخیره می کنه و بعد با کنترل Literal نشون بدید مقادیر رو که رندر بشوند ...

b.paseban
چهارشنبه 24 فروردین 1390, 19:16 عصر
برای جلوگیری از حملات احتمالی با کدای مخرب هم شما میتونی مراحل زیر رو طی کنید.
ایتدا این فایل رو دانلود و نصب کنید:
http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyId=051ee83c-5ccf-48ed-8463-02f56a6bfc09

بعد از نصب این فایل name space v رو توی code behind اضافه کنید:




using Microsoft.Security.Application;


بعد بعنوان مثال میخواهیم یه دیتا رو توی دیتا بیس درج کنیم




command.Parameters.AddWithValue("Body", AntiXss.GetSafeHtml(textbox.Text));


که در اینصورت بعد از درج کدهای مخرب نیز بصورت خنثی در دیتا بیس درج خواهد شد.