Hi micah,
I have modifed your code.Please refer the below code.
HTML
<head runat="server">
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
<script type='text/javascript'>
function openModal() {
$('#myModal').modal('show');
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="updResult" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DataList ID="GetMergedAll" runat="server" DataKeyName="CategoryID" OnItemCommand="GetMergedAll_ItemCommand1">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"CategoryName") %>'
Font-Bold="True " ForeColor="" Font-Size="" />
</h4>
<asp:Label ID="lblpost" runat="server" Text='<%# Eval("Description")%>' Font-Names="Comic Sans MS"
Font-Bold="False" Font-Strikeout="False" ForeColor="#333333">
</asp:Label>
<asp:Button ID="btnClick" Text="Click" runat="server" CommandName="SharePost" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"CategoryID") %>'
OnClick="btnClick_Click" />
</ItemTemplate>
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
×</button>
<h4 class="modal-title">
Modal Header</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel ID="UpdatePanel2model" runat="server">
<ContentTemplate>
<p>
</p>
<br />
<asp:FormView ID="SharePost" runat="server" CssClass=" table table-bordered table-striped table-hover">
<ItemTemplate>
<asp:TextBox ID="txtComment" runat="server" placeholder="Add Comment... " TextMode="MultiLine"
CssClass="form-control" Height="80px"></asp:TextBox>
<!-- Conversations are loaded here -->
<div class="">
<!-- Message. Default to the left -->
<div class="" style="margin-bottom: 1px; margin-left: 8px; margin-top: 8px; margin-right: 8px">
<div class=" " style="">
<ul class="media-list">
<li class="media">
<div class="media-body">
<h5 class="media-heading">
<asp:Label ID="lblCategoryId" runat="server" Text='<%#Eval("CategoryID")%>' Font-Bold="True "
ForeColor="#666666" />
<asp:Label ID="lblCategoryName" runat="server" Text='<%#Eval("CategoryName")%>' Font-Bold="True "
ForeColor="#666666" />
<br />
<asp:Label ID="lblDescription" runat="server" Text='<%#Eval("Description")%>' Font-Size="X-Small"
Font-Bold="True" ForeColor="Gray" />
<div class="clearfix">
</div>
</h5>
<div class=" col-lg-12" style="margin-top: 2px; margin-bottom: 2px">
</div>
<!-- Nested media object -->
</div>
</li>
</ul>
</div>
</div>
<!--/.direct-chat-messages-->
<!-- Contacts are loaded here -->
</div>
<!-- /.box-body -->
<asp:Button ID="btnSubmit" type="button" Text="Submit" OnClick="OnSubmit" class="btn btn-default"
runat="server" />
</ItemTemplate>
</asp:FormView>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="GetMergedAll" />
</Triggers>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">
Close</button>
</div>
</div>
</div>
</div>
</form>
</body>
C#
System.Text.StringBuilder sb = new System.Text.StringBuilder();
private string constring = ConfigurationManager.ConnectionStrings["Constring"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
if (!this.IsPostBack)
{
DataTable dt = GetData();
ViewState["DataTable"] = dt;
GetMergedAll.DataSource = dt;
GetMergedAll.DataBind();
}
}
}
private static DataTable GetData()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("CategoryID", typeof(int)), new DataColumn("CategoryName"), new DataColumn("Description") });
dt.Rows.Add(1, "Category 1", "Description 1");
dt.Rows.Add(2, "Category 2", "Description 2");
dt.Rows.Add(3, "Category 3", "Description 3");
dt.Rows.Add(4, "Category 4", "Description 4");
return dt;
}
protected void btnClick_Click(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openModal();", true);
}
protected void GetMergedAll_ItemCommand1(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "SharePost")
{
int index = Convert.ToInt32(e.CommandArgument);
DataTable dt = (DataTable)ViewState["DataTable"];
IEnumerable<DataRow> query = from i in dt.AsEnumerable()
where i.Field<int>("CategoryID").Equals(index)
select i;
DataTable detailTable = query.CopyToDataTable();
SharePost.DataSource = detailTable;
SharePost.DataBind();
}
}
protected void OnSubmit(object sender, EventArgs e)
{
string modelId = (SharePost.Row.FindControl("lblCategoryId") as Label).Text;
string userName = (SharePost.Row.FindControl("lblCategoryName") as Label).Text;
string description = (SharePost.Row.FindControl("lblDescription") as Label).Text;
string contentPost = (SharePost.Row.FindControl("txtComment") as TextBox).Text;
DateTime sendDate = DateTime.Now;
InsertDatabase(modelId, userName, description, contentPost, sendDate);
sb.Append(@"<script type='text/javascript'>");
sb.Append("$(function () {");
sb.Append(" $('#myModal').modal('hide');});");
sb.Append("</script>");
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ModelScript", sb.ToString(), false);
}
private void InsertDatabase(string modelId, string userName, string description, string contentPost, DateTime sendDate)
{
using (SqlConnection con = new SqlConnection(constring))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO SharePost VALUES(@ModelId,@userName,@contentPost,@description,@sendDate)", con))
{
cmd.Parameters.AddWithValue("@ModelId", modelId);
cmd.Parameters.AddWithValue("@userName", userName);
cmd.Parameters.AddWithValue("@contentPost", contentPost);
cmd.Parameters.AddWithValue("@description", description);
cmd.Parameters.AddWithValue("@sendDate", sendDate);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
Screenshot