【问题标题】:aspx.cs cannot recognize the file uploadaspx.cs 无法识别文件上传
【发布时间】:2016-06-18 16:15:06
【问题描述】:

这是我的 .aspx 文件

<div>
<asp:Label ID="Label2" runat="server" Text="Interested? Apply Now!" Font-Bold="True" ForeColor="Red"></asp:Label>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Upload Resume" OnClick="Button1_Click"/>
</div>

这是.aspx.cs

protected void Button1_Click(object sender, EventArgs e){
    FileUpload1.SaveAs(Request.MapPath("//") + "resume//" + FileUpload1.FileName);
}

错误

错误 1 ​​当前上下文 C:\Users\liezel\Documents\Visual Studio 2013\WebSites\WebSite5\JobHunterProfile.aspx.cs 38 9 WebSite5(1) 中不存在名称“FileUpload1”

【问题讨论】:

  • FileUpload1 是嵌套控件吗?
  • 其他控件是否被识别(Label2、Button1)?
  • 这是一个网站项目还是网络应用项目?确保根据项目类型正确使用 CodeFile="..." 而不是 CodeBehind="..."
  • 文件上传包含在数据列表中
  • 是的,可以识别其他控件。

标签: c# asp.net file-upload webforms


【解决方案1】:

如果 FileUpload1 在模板中(如在 Repeater.ItemTemplate 或其他模板化控件中),则不能直接引用它,只能通过 FindControl 引用。如果它是正常页面控件集的一部分,是的,它应该可以工作。检查您的 Designer.cs 文件以查看它是否存在;如果丢失,您可以随时添加它...您通常不必这样做,但是我遇到了 VS 故障,并且这些控件定义丢失了。

如果你添加它并得到一个异常,它不应该是直接可访问的,我们需要更多地了解你的代码来解决它。

【讨论】:

    【解决方案2】:

    看看这个

    protected void Button1_Click(object sender, EventArgs e) {

    string Path = Server.MapPath("/resume/" + FileUpload1.FileName);
    FileUpload1.SaveAs(Path);
    

    }

    它会起作用并且它在中继器控件中然后让我知道我会向你发送另一个 coede 示例

    【讨论】:

    • 它说:对象引用未设置为对象的实例。
    • 文件上传包含在数据列表中
    • 文件上传文件 = (FileUpload)DataList1.FindControl("FileUpload1");
    • 要上传的文件位置的语法是什么?
    【解决方案3】:

    请检查您的 DataList1 是否在页面加载事件上绑定然后查找控件对此不起作用,您必须像这样在 pageLoad 完成事件上绑定 dataList..
    protected void Page_LoadComplete(object sender, EventArgs e) { //Bind Your DataList or Repeater }

    从页面加载事件中删除绑定方法并检查它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-11
      • 1970-01-01
      • 2022-12-15
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      相关资源
      最近更新 更多