提问人:Haya Alhuraib 提问时间:10/31/2023 最后编辑:marc_sHaya Alhuraib 更新时间:10/31/2023 访问量:33
C# 网格视图错误:指定的参数超出了有效值的范围。更新 SQL Server 表时
C# Grid view error : Specified argument was out of the range of valid values. when updating a SQL Server table
问:
我想更新网格行更新事件的员工详细信息,但我收到以下错误:“System.ArgumentOutOfRangeException:指定的参数超出了有效值的范围。 参数名称:索引”
代码aspx:
<asp:Panel ID="Panel1" runat="server" Visible="False">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID, TagName" ShowFooter="True" EmptyDataText="No Perticular Record Found" AllowPaging="True" OnRowEditing="GridView1_RowEditing" OnPageIndexChanging="Grid1_PageIndexChanging" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowUpdating="GridView1_RowUpdating">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" ReadOnly="True" />
<asp:BoundField DataField="TagName" HeaderText="TagName" SortExpression="TagName" ReadOnly="True"/>
<asp:BoundField DataField="Position" HeaderText="Position" SortExpression="Position" />
<asp:BoundField DataField="Office" HeaderText="Office" SortExpression="Office" />
<asp:BoundField DataField="Salary" HeaderText="Salary" SortExpression="Salary" />
<asp:CommandField ButtonType="Link" ItemStyle-CssClass="editClass" ShowEditButton="True" />
</Columns>
</asp:GridView>
</asp:Panel>
C# 代码:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
int ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
string TagName = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
string position = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
string office = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text;
string salary = ((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text;
SqlConnection conn = new SqlConnection(CS);
conn.Open();
SqlCommand cmd = new SqlCommand("update Employee set Position='" + position + "', Office='" + office + "',Salary=" + salary+" where ID="+ ID +" TagName='"+ TagName + "'" , conn);
int t = cmd.ExecuteNonQuery();
if (t > 0)
{
Response.Write("<script> alert('Data has Updated')</script>");
GridView1.EditIndex = -1;
Page_Load();
}
}
请帮帮我。提前感谢您抽出时间接受采访。;)
答: 暂无答案
评论
e.RowIndex