在.net2003中如何实现多项删除,后台代码如何写?
我知道有很多高手会用C#写多项删除,但是本人是想用.NET2003做,请下哪个高手能够教下我?具体的代码啊!谢谢! --------------------编程问答-------------------- .net2003???? vs2003吧 --------------------编程问答-------------------- 在每项的前面加一个checkbox,在后台中检查checkbox状态,就可以实现多行删除了。 --------------------编程问答--------------------
多项删除 那就是用循环删除就是了~~ --------------------编程问答-------------------- 看看这篇帖子http://topic.csdn.net/u/20090706/10/3281DE1F-D5B1-48B6-9106-0E4725D77524.html --------------------编程问答-------------------- 根据选择的数目循环删除就可以了 --------------------编程问答-------------------- delete from tablename where id in(ID字符串) --------------------编程问答-------------------- 循环判断下就行了... --------------------编程问答-------------------- 后台拼接显示前台列表,也可以用gridview
void GetTechnetLabList(int pageIndex, string where)
{
whb147.BLL.Sys_TechnetLab bll = new whb147.BLL.Sys_TechnetLab();
DataSet ds = whb147.SQLServerDAL.DbHelperSQL.GetSplitPageData(pageIndex, pageSize, " * ", " from Sys_TechnetLab where 1=1 and Lab_Status=1 " + where, "Tech_ID desc", "Sys_TechnetLab", ref total);
StringBuilder sb = new StringBuilder("<br><table id='tblList' align='center' style='width:720px;border:solid 0px #000000;'>");
sb.Append("<tr style='font-weight:bolder;background-color:#8ABBE3;'><td>类型</td><td>日期</td><td>城市</td><td>主题</td><td>讲师</td><td>修改</td><td>删除</td></tr>");
if (total == 0)
{
sb.Append("");
}
else
{
int iLenRows = ds.Tables[0].Rows.Count;
if (iLenRows > 0)
{
string strMonth = "";
for (int i = 0; i < iLenRows; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
sb.Append("<tr><td>");
if (dr["type"].ToString() == "1")
{
sb.Append("TechNet中文网络广播");
}
else
{
sb.Append("TechNet 动手实验营");
}
sb.Append("</td><td>" + Convert.ToDateTime(dr["Tech_Date"].ToString()).ToShortDateString() + "</td><td>" + dr["City_Name"].ToString() + "</td><td><span class='tt'>" + dr["Tech_Name"].ToString() + "</span></td><td>" + dr["Teacher_Name"].ToString() + "</td>");
sb.Append("<td><a href='Sys_TechnetLab_Edit.aspx?id=" + dr["Tech_ID"].ToString() + "'>修改</a> </td><td><input type=\"checkbox\" name=\"cb_box\" id=\"" + dr["Tech_ID"] + "\" value=\"" + dr["Tech_ID"] + "\" onclick=\"Lab_Del(" + dr["Tech_ID"] + ")\"></td></tr>");
}
sb.Append("<tr><td colspan=\"7\" align=\"right\"><input type=\"button\" value=\"全部删除\" style=\"background-color:#d0d0d0;border:1px solid #999999; width:70px;padding-top:3px;\" onclick=\"ToDel()\" > 全选<input type=\"checkbox\" onclick=\"Del_All(" + iLenRows + ")\"/> </td></tr>");
}
}
sb.Append("</table>");
divTechnetLabList.InnerHtml = sb.ToString();
ShowStats(pageIndex);
}
前台js操作:
<script type="text/javascript" language="javascript">
function Lab_Del(lab_id)
{
if(document.getElementById(lab_id).checked==true)
{
document.getElementById("<%=Str_Lab.ClientID %>").value=document.getElementById("<%=Str_Lab.ClientID %>").value+","+lab_id;
}
if(document.getElementById(lab_id).checked==false)
{
document.getElementById("<%=Str_Lab.ClientID %>").value=document.getElementById("<%=Str_Lab.ClientID %>").value.replace(','+lab_id,'');
}
}
function ToDel()
{
var Lab_id=document.getElementById("<%=Str_Lab.ClientID %>").value;
window.location.href="Sys_TechnetLab_Del.aspx?lab="+Lab_id;
}
function Del_All(size)
{
var x=document.getElementsByName("cb_box");
if(document.getElementById("<%=Del_Type.ClientID %>").value=="1")
{
for(var i=0;i<size;i++)
{
x[i].checked=true;
Lab_Del(x[i].value);
}
document.getElementById("<%=Del_Type.ClientID %>").value="2";
}
else
{
if(document.getElementById("<%=Del_Type.ClientID %>").value=="2")
{
for(var i=0;i<size;i++)
{
x[i].checked=false;
Lab_Del(x[i].value);
}
document.getElementById("<%=Del_Type.ClientID %>").value="1";
}
}
}
</script>
删除页面
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class myAdmin_Sys_TechnetLab_Sys_TechnetLab_Del : System.Web.UI.Page
{
string Str_id = "";
protected void Page_Load(object sender, EventArgs e)
{
object obj = Request["lab"];
Str_id = obj != null ? Convert.ToString(obj) : "";
if (Str_id == "")
{
whb147.MessageBox.ShowAndRedirect(this, "参数错误!", "Sys_TechnetLab_List.aspx");
}
else
{
if (this.Del_Lab(Str_id) == 1)
{
whb147.MessageBox.ShowAndRedirect(this, "删除成功!", "Sys_TechnetLab_List.aspx");
}
else
{
whb147.MessageBox.ShowAndRedirect(this, "删除失败!", "Sys_TechnetLab_List.aspx");
}
}
}
public int Del_Lab(string str_num)
{
int Re_Num = 1;
string sql="";
string[] arr = str_num.Split(',');
ArrayList sql_list = new ArrayList();
for (int i = 1; i < arr.Length; i++)
{
sql = "Update Sys_TechnetLab set Lab_Status=0 where Tech_ID=" + Convert.ToInt32(arr[i]);
sql_list.Add(sql);
}
try
{
whb147.SQLServerDAL.DbHelperSQL.ExecuteSqlTran(sql_list);
}
catch (System.Data.SqlClient.SqlException E)
{
Re_Num = 0;
throw new Exception(E.Message);
}
return Re_Num;
}
}
附加批量处理sql语句的方法:
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
public static void ExecuteSqlTran(ArrayList SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.SqlClient.SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
finally
{
conn.Close();
}
}
}
--------------------编程问答-------------------- 全是线上正常运行的代码,如果看不懂我就帮不了你了 --------------------编程问答-------------------- 使用checkbox,在客户端
<script language="javascript" type="text/javascript">
function selectAll(ctlName,bool)
{
var ctl = document.getElementById(ctlName);
var checkbox = ctl.getElementsByTagName('input');
for(var i=0;i<checkbox.length;i++)
{
if(checkbox[i].type=='checkbox')
{
checkbox[i].checked = bool;
}
}
}
</script>
补充:.NET技术 , ASP.NET