求教一个响应事件的问题
我用DataGrid的editcommandcolumn做修改数据库里面的信息
当页面初次被请求的时候,一切如我所愿!
但点击编辑按钮之后什么都不见了!
自己设置断点调试,发现程序没有运行到那个断点的位置!
请问究竟为什么呢?
<%@ Page language="c#" Codebehind="editclass.aspx.cs" AutoEventWireup="false" Inherits="MyProject.admin.editclass" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>editclass</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 232px; POSITION: absolute; TOP: 72px" AutoGenerateColumns="False" runat="server" Width="248px">
<Columns>
<asp:EditCommandColumn HeaderText="操作区" EditText="编辑" UpdateText="更新" CancelText="取消" ButtonType="PushButton" />
<asp:BoundColumn HeaderText="classname" DataField="classname" ReadOnly="True" />
</Columns>
</asp:DataGrid>
</form>
</body>
</HTML>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
namespace MyProject.admin
{
/// <summary>
/// editclass 的摘要说明。
/// </summary>
public class editclass : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
OleDbConnection MyConn = new OleDbConnection();
public void Page_Load(Object src,EventArgs e)
{
//连接语句
string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../db.mdb");
MyConn = new OleDbConnection(MyConnString);
MyConn.Open();
if(!Page.IsPostBack)
{
BindGrid();
}
}
ICollection CreateTable()
{
string strSel = "select * from db_class";
DataSet ds = new DataSet();
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,"Class");
return ds.Tables["Class"].DefaultView;
}
public void BindGrid()
{
DataGrid1.DataSource = CreateTable();
DataGrid1.DataBind();
}
//处理Edit命令
public void DataGrid_EditCommand(Object sender,DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = (int)e.Item.ItemIndex;
BindGrid();
}
//处理Cancel命令
public void DataGrid_CancelCommand(Object sender,DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = -1;
BindGrid();
}
//处理Update命令
public void DataGrid_UpdateCommand(Object sender,DataGridCommandEventArgs e)
{
//更新数据库中的信息
string strName = e.Item.Cells[1].Text;
//string strChinese = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
//更新数据库中的数据
string strUpdate = "Update Score Set classname="+strName;
OleDbCommand MyComm = new OleDbCommand(strUpdate,MyConn);
MyComm.ExecuteNonQuery();
DataGrid1.EditItemIndex = -1;
BindGrid();
}
public void SelectedIndexChanged(Object src,EventArgs e)
{
BindGrid();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataGrid1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid_CancelCommand);
this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid_EditCommand);
this.DataGrid1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid_UpdateCommand);
this.DataGrid1.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}