Save to Database

  • 2 minutes to read

The ASPxHtmlEditor content can be saved as an HTML markup to a database in the following ways.

  • Using two-way (read/write) Data-Binding Expression (the **<%# bind> expression).**

    The following example illustrates the data-bound ASPxHtmlEditor within the ASPxGridView. After editing, the updated ASPxGridView content is saved to the database.

    <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
        DataFile="~/App_Data/Data_28072008.mdb"
        SelectCommand="SELECT * FROM [Table1]" 
        DeleteCommand="DELETE FROM [Table1] WHERE [ID] = ?" 
        InsertCommand="INSERT INTO [Table1] ([ID], [Name], [DescriptionHtml]) VALUES (?, ?, ?)" 
        UpdateCommand="UPDATE [Table1] SET [Name] = ?, [DescriptionHtml] = ? WHERE [ID] = ?">
        <DeleteParameters>
            <asp:Parameter Name="ID" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="Name" Type="String" />
            <asp:Parameter Name="DescriptionHtml" Type="String" />
            <asp:Parameter Name="ID" Type="Int32" />
        </UpdateParameters>
        <InsertParameters>
            <asp:Parameter Name="ID" Type="Int32" />
            <asp:Parameter Name="Name" Type="String" />
            <asp:Parameter Name="DescriptionHtml" Type="String" />
        </InsertParameters>
    </asp:AccessDataSource>
    
    <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" 
    Width="369px" DataSourceID="AccessDataSource1" KeyFieldName="ID">
        <Templates>
            <EditForm>
                <dx:ASPxHtmlEditor ID="ASPxHtmlEditor2" runat="server" 
                    Html='<%# Bind("DescriptionHtml") %>'>
                </dx:ASPxHtmlEditor>
                <br/>
                <div style="text-align: right; padding: 2px 2px 2px 2px">
                <dx:ASPxGridViewTemplateReplacement ID="UpdateButton" 
                    ReplacementType="EditFormUpdateButton" runat="server">
                 </dx:ASPxGridViewTemplateReplacement>
                 <dx:ASPxGridViewTemplateReplacement ID="CancelButton" 
                     ReplacementType="EditFormCancelButton"    runat="server">
                 </dx:ASPxGridViewTemplateReplacement>
                 </div>
             </EditForm>
         </Templates>
         <Columns>
             <dx:GridViewCommandColumn VisibleIndex="0">
                 <EditButton Visible="True">
                 </EditButton>
             </dx:GridViewCommandColumn>
             <dx:GridViewDataTextColumn FieldName="ID" ReadOnly="True" 
                 VisibleIndex="1">
                 <EditFormSettings Visible="False" />
             </dx:GridViewDataTextColumn>
             <dx:GridViewDataTextColumn FieldName="Name" VisibleIndex="2">
             </dx:GridViewDataTextColumn>
             <dx:GridViewDataTextColumn FieldName="DescriptionHtml" VisibleIndex="3">
                 <PropertiesTextEdit EncodeHtml="False">
                 </PropertiesTextEdit>
             </dx:GridViewDataTextColumn>
         </Columns>
    </dx:ASPxGridView>
    
  • Using database queries

    In the following example, the Save To DataBase button creates a connection with the Access DataBase and inserts the ASPxHtmlEditor contents into a new tuple.

    <div id="Div1">Your name:</div>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <div id="Div2">Your message:</div>
    <dx:ASPxHtmlEditor ID="ASPxHtmlEditor1" runat="server">
    </dx:ASPxHtmlEditor>
    <asp:Button ID="Button1" runat="server" Text="Save to DataBase" onclick="Button1_Click" />
    
    public partial class _Default : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
        }
        protected void Button1_Click(object sender, EventArgs e) {
            string MyHtml = ASPxHtmlEditor1.Html.ToString();
            OleDbConnection myConnection = new OleDbConnection();
            myConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; 
                 Data Source=C:/Solutions/MyProject/App_Data/test.mdb";
            myConnection.Open();
            OleDbCommand myCommand = new OleDbCommand();
            myCommand.Connection = myConnection;
            myCommand.CommandText = "INSERT INTO Table1(Name,DescriptionHtml) 
               VALUES (@name,@message)";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
            dataAdapter.SelectCommand = myCommand;
            dataAdapter.SelectCommand.Parameters.Add("@name", 
                OleDbType.VarChar, 50).Value = TextBox1.Text;
            dataAdapter.SelectCommand.Parameters.Add("@message", 
                OleDbType.VarChar, 200).Value = ASPxHtmlEditor1.Html.ToString();
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds, "Table1");
            myConnection.Close();
        }
    }