2017-05-04 83 views
0

这里是我的ASP代码的HTML表格的形式显示数据库表如何将新行添加到现有的表中的HTML

if (operation == "display"){ 
    MySqlDataAdapter da = new MySqlDataAdapter("select StudentId, StudentName from tblStudent where StudentStatus = 'a'", con); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    Response.Write("<Table cellpadding = 5>"); 
    Response.Write("<tr>"); 
    Response.Write("<th>"); 
    Response.Write("Student Id"); 
    Response.Write("</th>"); 
    Response.Write("<th>"); 
    Response.Write("Student Name"); 
    Response.Write("</th>"); 
    Response.Write("</tr>"); 
    foreach (DataRow dr in dt.Rows){ 
     Response.Write("<tr>"); 
     Response.Write("<td>"); 
     Response.Write(dr["StudentId"].ToString()); 
     Response.Write("</td>"); 
     Response.Write("<td>"); 
     Response.Write(dr["studentName"].ToString()); 
     Response.Write("</td>"); 
     Response.Write("</tr>"); 
    } 
    Response.Write("</Table>"); 
} 

这里是我的插入代码:

if (operation == "insert"){ 
    string sid, sname; 
    sid = Request.QueryString["StudentId"].ToString(); 
    sname = Request.QueryString["StudentName"].ToString(); 
    //MySqlDataAdapter da = new MySqlDataAdapter("insert into tblStudent (StudentId, StudentName) values (sid, sname)", con); 
    con.Open(); 
    MySqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "insert into tblStudent (StudentId, StudentName) values('" + sid.ToString() + "', '" + sname.ToString() + "')"; 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
} 

这是完美地工作。但是当我执行插入操作时,我不想再读整个表格。我只想将行附加到在cmd.ExecuteNonQuery返回1时显示方法中定义的HTML表中(以确保数据库表已更新)。怎么样?

+0

如果你不想重新加载整个数据,你应该在客户端进行插入操作。 –

+0

使用参数化查询以避免SQL注入攻击 – Sankar

+0

在ajax中发生的一切,没有重新加载点@NumanKIZILIRMAK –

回答

0

在你的Ajax succeess回调新行追加到表

succcess:function(data) 
{ 
    var newRow= "";     
    newRow= newRow+ "<tr>"; 
    newRow= newRow+ "<td>" + studentId + "</td>"; 
    newRow= newRow+ "<td>" + studentName + "</td>";  
    newRow= newRow+ "</tr>";       
    $('.yourtable').append(newRow); 
} 
0

创建HTML表作为使用RUNAT = '服务器' 服务器端控制。 所以你的表格创建部分将如下;

**Response.Write("<Table runat='server' id='tblStudents' cellpadding = 5>");** 

保存后,您可以从后面的代码访问此控件并添加行。 成功插入后添加以下代码;

var row= new System.Web.UI.HtmlControls.HtmlTableRow(); 
var cellSID = new System.Web.UI.HtmlControls.HtmlTableCell(); 
cellSID.InnerText = sid; 
row.Cells.Add(cellSID); 

var cellSName = new System.Web.UI.HtmlControls.HtmlTableCell(); 
cellSID.InnerText = sname; 
row.Cells.Add(cellSName); 

tblStudents.Rows.Insert(0, row); 
0

我会建议这种方式使用jquery的append

$('#yourTableID > tbody:last-child').append('<tr><td>Some Data</td>...</tr>'); 

注意:您tabletbody内发现最后一个孩子后,它会添加行表应该有这至少一个row通过使用jQuery你的表内计数的行工作,你可以很容易做到。

相关问题