在asp.net中,当某个操作需要在后台直接完成时,可以考虑添加一个一般应用程序。它的用法很简单,例子如下:
1`.首先添加一个gridview1,添加一个一般处理程序,名为Handler.ashx;
2.添加一个类,名为class1,定义两个方法,一个是Gettable,一个是Dele。代码如下:
public static DataTable Gettable(string sql)
{
try
{
using (SqlConnection sqlcon = new SqlConnection("Persist Security Info=False;User ID=sa;Password=0;Database=jp;Server=localhost"))
{
sqlcon.Open();
SqlDataAdapter sqd = new SqlDataAdapter(sql, sqlcon);
DataSet ds = new DataSet();
sqd.Fill(ds);
return ds.Tables[0];
}
}
catch
{
}
return null;
}
public static bool Dele(string sno)
{
string sql = "delete from student where sno='" + sno + "'";
try
{
using (SqlConnection sqlcon = new SqlConnection("Persist Security Info=False;User ID=sa;Password=0;Database=jp;Server=localhost"))
{
sqlcon.Open();
SqlCommand sqlc = new SqlCommand(sql, sqlcon);
sqlc.ExecuteNonQuery();
return true;
}
}
catch
{
return false;
}
}
3.gridview1绑定一个名为student的表,数据库名为jp,表内容如下:
sno sname ssex ssage字段;
99001 张晨 女 20
99002 李姚 男 22
代码段:
调用class1的gettable
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Bindstu();
}
}
private void Bindstu()
{
string sql = "select * from student";
DataTable dt = Class1.Gettable(sql);
this.GridView1.DataSource = dt ;
this.GridView1.DataBind();
}
设计界面,将sno,sname,等字段,通过设置Gridview1的,boundfield的datafield属性,将数据绑定。
4.在grivdview1绑定数据加一列hyperlinkfield,headtext及text名为“删除”;并将sno值到Handler.aspx这个网页。
具体为设置hyperlinfield的datanavigatevulfieles 为sno,datavavigateurlformats属性为Handler.ashx?sno={0}。
5.在Handler.ashx中添加如下代码,调用class1的Dele方法:
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
string i = context.Request.QueryString["sno"]; //定义字符串,接收Default网页传值;
try
{ bool ids;
ids = Class1.Dele(i);//调用删除方法;
if (ids)
{
context.Response.Redirect("Default.aspx");//成功后,将网页重新定位到default 网页; }
}
catch(System.Exception ee)
{
throw ee;
}
}
public bool IsReusable {
get {
return false;
}
}
}
转自:http://blog.sina.com.cn/s/blog_60da4e1d0100f8ga.html