Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在网格视图中添加新行时控制FileUpload类型时出错_C#_Asp.net_File Upload - Fatal编程技术网

C# 在网格视图中添加新行时控制FileUpload类型时出错

C# 在网格视图中添加新行时控制FileUpload类型时出错,c#,asp.net,file-upload,C#,Asp.net,File Upload,我在gridview中使用fileUpload控件。我使用了以下代码,但它在执行时出现异常 我得到异常的代码部分: FileUpload file = (FileUpload)gridFile.Rows[i].Cells[0].FindControl("fileUpload1"); 例外情况: 无法将“System.Web.UI.WebControl.FileUpload”类型的对象强制转换为“FileUpload.FileUpload”类型 代码: 受保护的void AddNewRow()

我在gridview中使用fileUpload控件。我使用了以下代码,但它在执行时出现异常

我得到异常的代码部分:

FileUpload file = (FileUpload)gridFile.Rows[i].Cells[0].FindControl("fileUpload1");
例外情况: 无法将“System.Web.UI.WebControl.FileUpload”类型的对象强制转换为“FileUpload.FileUpload”类型

代码:

受保护的void AddNewRow()
{
如果(ViewState[“CurrentTable”]!=null)
{
DataTable dt=(DataTable)视图状态[“CurrentTable”];
数据行dr=null;
如果(dt.Rows.Count>0)
{
dr=dt.NewRow();
dt.Rows.Add(dr);
视图状态[“当前表”]=dt;

对于(int i=0;i该消息告诉您,对象的运行时类型与您尝试强制转换的运行时类型不同。您需要确保变量文件为System.Web.UI.WebControls.FileUpload而不是FileUpload.FileUpload。您可能定义的类与框架中的类同名。请使用完全限定的名称类型来解析那个

编辑: Mysterio11为您提供了一个示例。如果您不想使用完整的类型名,也可以尝试使用不同的名称空间。

在强制使用时

 System.Web.UI.WebControls.FileUpload file=(System.Web.UI.WebControls.FileUpload)gridFile.Rows[i].Cells[0].FindControl‌​("fileUpload1"); 

强制转换时,请使用System.Web.UI.WebControls.FileUpload file=(System.Web.UI.WebControls.FileUpload)gridFile.Rows[i].Cells[0].FindControl(“fileUpload1”);尝试以字符串形式发送数据。
 System.Web.UI.WebControls.FileUpload file=(System.Web.UI.WebControls.FileUpload)gridFile.Rows[i].Cells[0].FindControl‌​("fileUpload1");