لؤلؤة الإمارات
2012-09-12, 11:54
السلام عليكم و رحمة الله و بركاته
لدي سؤال وهو كيف يمكنني عمل مربع النص مثل اللي موجود ف المنتدى
و اقدر احفظها ف قاعدة البيانات sql مع تنسيقاتها و عند استرجاع النص يظهر لي مع تنسيقاتها
استخدم visual studio 2010 و لغة vb
و جزاكم الله خيرا
لؤلؤة الإمارات
2012-09-27, 12:38
السلام عليكم...
بفضل الله تعالى و رحمته قدرت اوصل الى الحل و حبيت اشاركه و ياكم
عسى الكل يستفيد
المثال من الموقع
http://www.aspdotnet-suresh.com/2011/05/richtextbox-sample-in-aspnet-or-how-to.html (http://www.aspdotnet-suresh.com/2011/05/richtextbox-sample-in-aspnet-or-how-to.html)
لكنه باللغة c# قمت بإضافة بعض التعديلات >
- اولا عليك تحميل rich text box من موقع www.freetextbox.com (http://www.freetextbox.com/) و اختر الإصدار الأخير.
- في المشروع اعمل مجلد وسمه bin وضع فيها FreeTextBox.dll ولو كان موجودا قبل فقط ضع فيها FreeTextBox.dll
- افتح web.config واكتب فيها هذه الكود
-
- <system.web>
- <httpRuntime requestValidationMode="2.0"/>
- </system.web>
- وفي صفحة الموقع اكتب هذا الكود
<%@ Page ********="VB" AutoEventWireup="false" CodeFile="txtmine.aspx.vb" Inherits="txtmine" validateRequest="false" %>
<%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %>
- الإضافة التى اضفته هو ان النتائج التي يظهر في GridView هو مباشرة من قاعدة البيانات .. قمت بتوصيله بالقاعدة البيانات من chose data source و اخترت الجدول ...
- حول عمود txt*******s إلى template و اضف فيها label يكون الناتج مثل هذا
<asp:GridView runat="server" ID="gvdetails" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
ReadOnly="True" SortExpression="id" />
<asp:TemplateField HeaderText="txt*******s" SortExpression="txt*******s">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("txt*******s") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("txt*******s") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [rtb]"></asp:SqlDataSource>
الكود بالكامل في صفحة RichTxt.aspx
<%@ Page ********="VB" AutoEventWireup="false" CodeFile="RichTxt.aspx.vb" Inherits="txtmine" validateRequest="false" %>
<%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function validate() {
var doc = document.getElementById('FreeTextBox1');
if (doc.value.length == 0) {
alert('Please Enter data in Richtextbox');
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<FTB:FreeTextBox ID="FreeTextBox1" runat="server"
ToolbarStyleConfiguration="Office2003">
</FTB:FreeTextBox>
<asp:GridView runat="server" ID="gvdetails" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
ReadOnly="True" SortExpression="id" />
<asp:TemplateField HeaderText="txt*******s" SortExpression="txt*******s">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("txt*******s") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("txt*******s") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="btnSubmit" runat="server" OnClientClick="return validate()" Text="Submit" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [rtb]"></asp:SqlDataSource>
<br />
<asp:Label ID="lbltxt" runat="server" />
</div>
</form>
</body>
</html>
وفي صفحة RichTxt.aspx.vb
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Partial Class txtmine
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
lbltxt.Text = FreeTextBox1.Text
Dim contt As New SqlConnection(ConfigurationManager.ConnectionStrin gs("ConnectionString").ConnectionString)
contt.Open()
Dim cmd As New SqlCommand("insert into rtb(txt*******s) values(@txt*******s)", contt)
cmd.Parameters.AddWithValue("@txt*******s", FreeTextBox1.Text)
cmd.ExecuteNonQuery()
contt.Close()
FreeTextBox1.Text = ""
End Sub
End Class
وهاي هي قاعدة البيانات
اسم الجدول rtb
و الاعمده اللي فيها هي
id int (primary key)
txt*******s nvarchar(MAX)
وخلي id identity specification = yes
بالتوفيق
لؤلؤة الإمارات
2012-09-27, 14:33
مثال ثاني
المثال من موقع
http://www.aspsnippets.com/Articles/Using-Tiny-MCE-Rich-TextBox-in-ASP.Net.aspx (http://www.aspsnippets.com/Articles/Using-Tiny-MCE-Rich-TextBox-in-ASP.Net.aspx)
اضفت فيها بعض التعديلات
RichText2.aspx
<%@ Page ********="VB" AutoEventWireup="false" Debug ="true" ValidateRequest ="false" CodeFile="RichText2.aspx.vb" Inherits="RichText2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
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_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_********: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_********: "bottom",
theme_advanced_resizing: false,
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"
});
function validate() {
var doc = document.getElementById('RichTextBox');
if (doc.value.length == 0) {
alert(" please enter text");
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="RichTextBox" runat="server" TextMode="MultiLine" Height="41px"
Width="182px"></asp:TextBox>
<br />
<%-- يقوم بحفظه في قاعدة البيانات --%>
<asp:Button ID="Button1" runat="server" Text="ارسال" />
<%-- يظهر النص مع التنسيقاتها و الصور ... الخ في
Label1
عن طريق هذا الكود
Label1.text = RichTextBox.text
--%>
<asp:Button ID="Button2" runat="server" Text="معاينة" />
<br />
<br />
<asp:Label ID="Label1" runat="server"
style="top: 209px; left: 16px; position: absolute; height: 80px; width: 266px"
Text="Label"></asp:Label>
<br />
<br />
<%--
اذا تم حفظه في قاعدة البيانات يظهر هذه الرساله data saved
Label2.Text = "data saved"--%>
<asp:Label ID="Label2" runat="server" style="color: #CC0000"></asp:Label>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
ReadOnly="True" SortExpression="id" />
<asp:TemplateField HeaderText="txt*******s" SortExpression="txt*******s">
<EditItemTemplate>
<%--يقوم بإظهاره من قاعدة البيانات--%>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("txt*******s") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("txt*******s") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [rtb]"></asp:SqlDataSource>
</div>
</form>
</body>
</html>
RichText2.aspx.vb
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Partial Class txtmine
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
lbltxt.Text = FreeTextBox1.Text
Dim contt As New SqlConnection(ConfigurationManager.ConnectionStrin gs("ConnectionString").ConnectionString)
contt.Open()
Dim cmd As New SqlCommand("insert into rtb(txt*******s) values(@txt*******s)", contt)
cmd.Parameters.AddWithValue("@txt*******s", FreeTextBox1.Text)
cmd.ExecuteNonQuery()
contt.Close()
FreeTextBox1.Text = ""
End Sub
End Class