Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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
选项卡面板中的asp.net上载文件_Asp.net_File Upload_Path_Tabpanel - Fatal编程技术网

选项卡面板中的asp.net上载文件

选项卡面板中的asp.net上载文件,asp.net,file-upload,path,tabpanel,Asp.net,File Upload,Path,Tabpanel,我正在尝试通过asp.net将文件从客户端上载到服务器。 问题是fileupload控件在选项卡面板中不起作用。 提交后,fileupload的文件名和postedfiles属性基本上为空。 我也不能把他踢出去 我正在寻找其他解决方案。 一个是,我要求用户将文件的路径输入到输入字段中,然后提交一个按钮 问题是如何根据文件路径上传文件 我们将非常感谢你的帮助 代码是这样的。 正在讨论的控件id是“fuAttachments” 编辑财务报表 附件: 在后端,代码如下所示。 问题是没有发布所有附

我正在尝试通过asp.net将文件从客户端上载到服务器。 问题是fileupload控件在选项卡面板中不起作用。 提交后,fileupload的文件名和postedfiles属性基本上为空。 我也不能把他踢出去

我正在寻找其他解决方案。 一个是,我要求用户将文件的路径输入到输入字段中,然后提交一个按钮

问题是如何根据文件路径上传文件

我们将非常感谢你的帮助

代码是这样的。 正在讨论的控件id是“fuAttachments”


编辑财务报表
附件:

在后端,代码如下所示。 问题是没有发布所有附件的属性,这是updatepanel和tabpanel中文件上载控制的一个已知问题

        /// <summary>
    /// Add document to the document list.
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnAddAttachment_Click(object sender, EventArgs e)
    {
        HiddenField hfIDStatement = fvAnnualFS.FindControl("hfIDStatement") as HiddenField;
        FileUpload fuAttachments = fvAnnualFS.FindControl("fuAttachments") as FileUpload;
    }
//
///将文档添加到文档列表中。
/// 
/// 
/// 
受保护的void btnAddAttachment\u单击(对象发送者,事件参数e)
{
HiddenField hfIDStatement=FvanualFS.FindControl(“hfIDStatement”)作为HiddenField;
FileUpload fuAttachments=fvanualfs.FindControl(“fuAttachments”)作为FileUpload;
}

首先,您的HiddenField和FileUpload将无法以您查找它们的方式找到。它们嵌套在其他对象中,因此您必须首先找到它们的父对象,我知道这有点痛苦

    protected void btnAddAttachment_Click(object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        TemplateControl UploadContainer = (TemplateControl)btn.Parent;

        HiddenField hfIDStatement = (HiddenField)UploadContainer.FindControl("hfIDStatement");
        FileUpload fuAttachments = (FileUpload)UploadContainer.FindControl("fuAttachments");
    } 

请显示控件的标记好吗?这将帮助我们排除故障,因为您的代码已添加如上所述。谢谢,对不起。但你的方法在尝试之后就行不通了。我在TemplateControl UploadContainer=(TemplateControl)btn.Parent行中得到错误;因为btn.Parent获取按钮所在的表单元格。事实上,我的隐藏文件代码确实有效。我可以得到隐藏字段的值。错误消息如下。无法将类型为“System.Web.UI.WebControl.TableCell”的对象强制转换为类型为“System.Web.UI.TemplateControl”。很抱歉,我无法在页面上获取tabcontrol以便进行测试。我使用的是VS2012,但还是一样。我们能谈谈这个问题吗?问题是如何根据文件路径上传文件?我的想法是,我将要求用户手动输入文件的路径并提交,这样我就可以在服务器端获得文件的路径。但是我不知道如何从这个路径获取文件。你没有使用文件上传组件吗?如果您是,用户将浏览到他们的文件所在位置并上传。您必须指定在服务器上放置文件的位置,以下是一个关于如何使用该文件的良好教程:
    protected void btnAddAttachment_Click(object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        TemplateControl UploadContainer = (TemplateControl)btn.Parent;

        HiddenField hfIDStatement = (HiddenField)UploadContainer.FindControl("hfIDStatement");
        FileUpload fuAttachments = (FileUpload)UploadContainer.FindControl("fuAttachments");
    }