在Gridview中将TextBox Value转换为rowcommand事件中的整数

时间:2014-09-13 21:39:05

标签: c# gridview

我正在尝试将TextBox内的值转换为RowCommand的{​​{1}}内的值。

gridview

我收到以下错误:

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
}

2 个答案:

答案 0 :(得分:1)

正如错误所说,您正在尝试将文本框转换为整数。这是不可能的。所以它应该是这样的 -

int Sunday = Convert.ToInt32((TextBox)(gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtSunday")).Text);
int Monday = Convert.ToInt32((TextBox)(gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtMonday")).Text);

答案 1 :(得分:0)

您正在找到控件然后尝试将其转换为整数,您需要选择文本框的文本属性并转换它。

 int Sunday = Convert.ToInt32(((TextBox)gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtSunday")).Text);
 int Monday = Convert.ToInt32(((TextBox)gvEmployeeTimeSheet.Rows[rowIndex].FindControl("txtMonday")).Text);