0

我正在使用静态方法将图像上传到项目文件夹中,但由于出现错误而无法这样做:

非静态字段、方法或属性“inheritedclass.fileupload”需要对象引用

我的功能如下:

[WebMethod]
public static string FileUploadUsingJqueryNew(string nameofimage)
{
    string File_Name = nameofimage;       
    FileUploadID.SaveAs(Server.MapPath("~/UploadFile/" + File_Name));
    imgID.ImageUrl = "../UploadFile/" + File_Name;
    imgID.Visible = true;
    return nameofimage;
}
4

2 回答 2

2

您使用页面上的 WebControl 的FileUpload.SaveAs方法。您的页面是具有属性的对象,其中之一是您的FileUpload.

您不能将控件的引用传递给静态方法。您只能使用非静态方法来使用您的FileUpload控件。

更新:
根据您使用的[WebMethod]属性,我认为您正在尝试将文件传递给 Web 服务方法。这可以通过使用HttpPostedFile.InputStreamFileUpload添加一个将文件内容传递给[WebMethod]as的处理程序来完成。Stream

于 2012-12-25T07:20:29.670 回答
1
  • FileName = nameofimage

你不能定义Filename这样的。FileName是一个属性。像这样使用String fileName = FileUpload1.FileName; 不要忘记逗号!

  • FileUpload.SaveAs()

你不能这样做。您可以将其与控制中的非静态方法一起使用FileUpload。像这样使用;

FileUpload f = new FileUpload();
f.SaveAs();
于 2012-12-25T07:35:12.993 回答