我有这个代码
当我点击gridview
上的这个按钮时,它会删除我单击其后面的删除按钮的行:
private void imgbtnDelete_Click(object sender, ImageClickEventArgs e)
{
//Get the button that raised the event
ImageButton btn = (ImageButton)sender;
//Get the row that contains this button
GridViewRow gvr = (GridViewRow)btn.NamingContainer;
//Get rowindex
int rowindex = gvr.RowIndex;
int DrillItemId = Convert.ToInt32(grd1.Rows[rowindex].Cells[0].Text.ToString());
SPContext.Current.Web.Lists["Drill Items"].Items.DeleteItemById(DrillItemId);
grd1.DataSource = GetData();
grd1.DataBind();
}
当我部署我的项目时,它在这一行给出了这个错误: 有错误的行:
int DrillItemId = Convert.ToInt32(grd1.Rows[rowindex].Cells[0].Text.ToString());
错误:
input string was not in a correct format.
请帮帮我
答案 0 :(得分:2)
请帮帮我
嗯,错误是:
输入字符串的格式不正确。
,该行是:
int DrillItemId = Convert.ToInt32(grd1.Rows [rowindex] .Cells [0] .Text.ToString());
我们来看看。我猜你Cells[0].Text
中的任何内容都不是数字。或者至少不是Convert.ToInt32
会接受的形式。我不会在这里讨论可能的原因 - 有很多,取决于你如何使用它。
你能做基线调试并检查一下 - 啊 - 修复它吗?它只比编写一个标题更复杂,不会说“你好我需要帮助”,程序员通常会在他们的职业生涯中很早就学习......调试。
答案 1 :(得分:1)
以下一行
int DrillItemId = Convert.ToInt32(grd1.Rows[rowindex].Cells[0].Text.ToString());
grd1.Rows[rowindex].Cells[0].Text
的实际值可能包含字母字符或空格,因此您收到此错误。
Convert.ToInt32(stringVal)
实际上将数字的指定字符串表示形式转换为等效的32位有符号整数,但参数应该是仅包含数字的字符串。