当前位置: 代码迷 >> ASP.NET >> 在datagrid中实现批量删除时出现:未将对象引用设置到对象的实例解决办法
  详细解决方案

在datagrid中实现批量删除时出现:未将对象引用设置到对象的实例解决办法

热度:3260   发布时间:2013-02-25 00:00:00.0
在datagrid中实现批量删除时出现:未将对象引用设置到对象的实例
弄了一个通宵还是没搞好
以下是代码,当我点checkbox并点击删除按钮的时候。出现错误提示:未将对象引用设置到对象的实例
以下是代码
CS:
C# code
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;namespace CHINAESL.News{    /// <summary>    /// Manage 的摘要说明。    /// </summary>    public partial class Manage : System.Web.UI.Page    {        public DataSet ds=new DataSet ();//将DataSet实例化                        protected void Page_Load(object sender, System.EventArgs e)        {                if(Session["UserName"].ToString().Equals("worldlink"))            {                ds = Socut.Data.ExecuteDataSet("SELECT * FROM socut_news ORDER BY n_time DESC","TableName");                DataGrid1.DataSource =ds;//设置数据源                DataGrid1.DataBind ();//绑定数据                }            else            {                                           Response.Write("<script language=javascript>alert('此页面无效,请返回!')</script>");                Response.Write("<script language=javascript>window.location.href='/CHINAESL/default.aspx'</script>");                        }        }        #region Web 窗体设计器生成的代码        override protected void OnInit(EventArgs e)        {            //            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。            //            InitializeComponent();            base.OnInit(e);        }                /// <summary>        /// 设计器支持所需的方法 - 不要使用代码编辑器修改        /// 此方法的内容。        /// </summary>        private void InitializeComponent()        {                this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);        }        #endregion        private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)        {            DataGrid1.CurrentPageIndex = e.NewPageIndex;            DataBind();         }        protected void LinkButton1_OnClick(object sender, EventArgs e)        {            {                for (int i = 0; i < DataGrid1.Items.Count; i++)                {                    CheckBox mychk = (CheckBox)DataGrid1.Items[i].FindControl("Item");                    if (mychk.Checked == true)                    {                        string myid = Request.Form["Item"];                        Socut.Data.ExecuteDataSet("DELETE FROM socut_news WHERE n_id='" + myid + "'");                    }                }            }        }}}

aspx:
HTML code
<%@ Page language="c#" Inherits="CHINAESL.News.Manage" CodeFile="Manage.aspx.cs" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML>    <HEAD>        <title>Manage</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><script type="text/javascript">    function SelectAll(tempControl)    {      var theBox=tempControl;      xState=theBox.checked;      elem=theBox.form.elements;      for(i=0;i<elem.length;i++)      {        if(elem[i].type=="checkbox" && elem[i].id!=theBox.id)        {          if(elem[i].checked!=xState)          {            elem[i].click();          }        }      }    }</script>    <body>        <form id="Form1" method="post" runat="server">            <table cellSpacing="1" cellPadding="5" width="780" align="center" bgColor="#cccccc" border="0">                <tr>                    <td align="center" width="788" bgColor="#ffffff" height="150">网站顶部</td>                </tr>            </table>            <table cellSpacing="1" cellPadding="5" width="780" align="center" bgColor="#cccccc" border="0">                <tr bgColor="#ffffff">                    <td width="177" height="200" style="WIDTH: 177px"><FONT face="宋体">                            <P><BR>                        </FONT><FONT face="宋体"></FONT>&nbsp;                    </td>                    <td vAlign="top" rowSpan="2"><asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Height="120px" Width="575px"                            PageSize="15" AllowPaging="True">                            <Columns>                                <asp:TemplateColumn HeaderText="求职信息:">                                    <ItemTemplate>                                    <input name="Item" type="checkbox" value=<%#DataBinder.Eval(Container.DataItem,"n_id")%>>                                        <a href='edit.aspx?id=<%#DataBinder.Eval(Container.DataItem,"n_id")%>' target="">                                            编辑</a>·<a href='view.aspx?id=<%#DataBinder.Eval(Container.DataItem,"n_id")%>' target=_blank><%#DataBinder.Eval(Container.DataItem, "n_title")%></a>                                    </ItemTemplate>                                </asp:TemplateColumn>                            </Columns>                            <PagerStyle Font-Size="X-Small" Font-Names="Tahoma" HorizontalAlign="Center" ForeColor="#333399"                                BackColor="#66FF99" Mode="NumericPages"></PagerStyle>                        </asp:datagrid>                        <input id="checkall" type="checkbox" Onclick="javascript:SelectAll(this);" name="allcheck"/>                        <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_OnClick">DelSelected</asp:LinkButton></td>                </tr>                <tr bgColor="#ffffff">                    <td height="200" style="WIDTH: 179px">文章统计</td>                </tr>            </table>            <table cellSpacing="1" cellPadding="5" width="780" align="center" bgColor="#cccccc" border="0">                <tr>                    <td align="center" width="788" bgColor="#ffffff" height="150">网站底部</td>                </tr>            </table>        </form>    </body></HTML>
  相关解决方案