指定的参数已超出有效值的范围。
请教一下,在运行以下的代码时,在((LinkButton)(e.Row.Cells[6].Controls[0])).Attributes.Add("onclick", "return confirm('确定要删除吗?')");出现了“指定的参数已超出有效值的范围。”的错误,想问一下是怎么回事?怎么修改啊?
谢谢了
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
SqlConnection sqlcon;
SqlCommand sqlcom;
string strCon = @"Data Source=.\SQLEXPRESS;Initial Catalog=snowfox;Integrated Security=True";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr = "delete from hyxx where hyid='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
sqlcon = new SqlConnection(strCon);
sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();// 执行Update命令
sqlcon.Close();
bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
sqlcon = new SqlConnection(strCon);
string sqlstr = "update hyxx set hyname='"+
((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()+"',hyxb='"+
((DropDownList)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).FindControl("DropDownList1")).Text.ToString()+ "', hyjg='" +
((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()+"'where hyid='"+
GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
//取得Gridview中第e.RowIndex索引行的索引为2的单元格里的索引为0的控件强转为TEXTBOX获得其中的值
sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();// 执行Update命令
sqlcon.Close();
GridView1.EditIndex=-1;//取消编辑状态
bind(); //重新绑定GridView数据
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;//取消编辑状态
bind();
}
public void bind()
{
DropDownList ddl;
string sqlstr = "select * from hyxx";
sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
myda.Fill(myds, "hyxx");
GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { "hyid" };
GridView1.DataBind();
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DataRowView mydrv = myds.Tables["hyxx"].DefaultView[i];
if (Convert.ToString(mydrv["hyxb"]).Trim() == "男")
{
ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
ddl.SelectedIndex = 0;
}
if (Convert.ToString(mydrv["hyxb"]).Trim() == "女")
{
ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
ddl.SelectedIndex = 1;
}
}
sqlcon.Close();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex ;//编辑状态
bind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
bind();
}
public SqlDataReader ddlbind()
{
string sqlstr = "select distinct hyxb from hyxx";//取出“男”,“女”
sqlcon = new SqlConnection(strCon);
SqlCommand sqlcom=new SqlCommand(sqlstr,sqlcon);
sqlcon.Open();
return sqlcom.ExecuteReader();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType==DataControlRowType.DataRow)
{
((LinkButton)(e.Row.Cells[6].Controls[0])).Attributes.Add("onclick", "return confirm('确定要删除吗?')");
}
}
}