Hi gauravs,
I have created sample please refer below code. Here when you save it will save in encoded format so when retrive use HttpUtility.HtmlDecode() to retrive the string from database.
HTML
<div>
<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" ItemStyle-Width="30" />
<asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" />
<asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" />
</Columns>
</asp:GridView>
<asp:Button Text="Save" ID="btnSave" runat="server" OnClick="Save" />
</div>
Code
string str = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("Country",typeof(string)) });
dt.Rows.Add(1, "John Hammond", "United States");
dt.Rows.Add(2, "Mudassar Khan", "India");
dt.Rows.Add(3, "Suzanne Mathews", "France");
dt.Rows.Add(4, "Robert Schidner", "Russia");
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void Save(object sender, EventArgs e)
{
StringReader sr;
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
GridView1.RenderControl(hw);
sr = new StringReader(sw.ToString());
}
}
string s = HttpUtility.HtmlDecode(sr.ReadToEnd());
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("INSERT INTO TEST VALUES(@Data)", con);
cmd.Parameters.AddWithValue("@Data", s);
con.Open();
cmd.ExecuteNonQuery();
BindGrid();
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
Screenshot
