在 Grid View 的 RowCommand 事件中将 TextBox 的值转换为整数

3

我正在尝试在gridviewRowCommand中将TextBox中的值转换为int。

else if (e.CommandName == "UpdateRow")
{
    int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;
    int TimeSheetId = Convert.ToInt32(e.CommandArgument);
    int Sunday = Convert.ToInt32((TextBox)gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtSunday"));// Error here
    int Monday = Convert.ToInt32((TextBox)gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtMonday"));// Error her
}

我收到了以下错误信息:
Unable to cast object of type 'System.Web.UI.WebControls.TextBox' to type 'System.IConvertible'.
2个回答

1
正如错误所述,您正在尝试将文本框转换为整数。这是不可能的。所以应该像这样 -
int Sunday = Convert.ToInt32((TextBox)(gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtSunday")).Text);
int Monday = Convert.ToInt32((TextBox)(gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtMonday")).Text);

0
你正在寻找控件,然后尝试将其转换为整数,你需要选择文本框的文本属性并进行转换。
 int Sunday = Convert.ToInt32(((TextBox)gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtSunday")).Text);
 int Monday = Convert.ToInt32(((TextBox)gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtMonday")).Text); 

非常感谢,它正在运行。 - keerthi
不用谢,很高兴能帮助到您。 - Mark Hall
1
@MarkHall:回答发布只差1分钟... :) - Krishnraj Rana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接