0

私はMVC 4を初めて使用します。別のクラスで一連のメソッドを定義し、コントローラーでそれらすべてのメソッドを呼び出す必要があるシナリオがあります。ビューとは異なる機能を処理できるように。

以下は私のコードのサンプルです....確認してください。

コントローラーの下に新しいクラスファイルを追加し、以下のようにメソッドを定義しました:

 public void Convert(ConvertFileOutputType outputType, FileInfo inFile, DirectoryInfo        outFolder, int timeout,
        int topMargin, int bottomMargin, int leftMargin, int rightMargin)
    {
       switch (outputType)
        {
            case ConvertFileOutputType.Pdf:
                break;
            default: break;
            // throw new    ConvertFileException(Properties.Resources.OutputTypeNotSupportedWordPerfect);
        }
        if (converter == null)
        {
            //converter.LicenseKey = "";
            converter = new PdfConverter();
            converter.LicenseKey = "";
            converter.PdfDocumentOptions.LiveUrlsEnabled = false;
            converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.Letter;
            converter.PdfDocumentOptions.TopMargin = topMargin;
            converter.PdfDocumentOptions.BottomMargin = bottomMargin;
            converter.PdfDocumentOptions.LeftMargin = leftMargin;
            converter.PdfDocumentOptions.RightMargin = rightMargin;
            converter.AvoidImageBreak = true;
        }
        converter.PdfDocumentInfo.AuthorName = "FileConvert";
        converter.PdfDocumentInfo.Title = inFile.Name;
        converter.PdfDocumentInfo.CreatedDate = DateTime.Now;
        converter.SavePdfFromHtmlFileToFile(inFile.FullName, outFolder + "\\" + inFile.Name + ".pdf");
    }

そして、コントローラーメソッドで上記のメソッドを呼び出したい....私はやみくもにコードを書いた....

  public string UploadAsPDF(HttpPostedFileBase fileData)
     {
         var fileName = this.Server.MapPath("~/uploads/" +     System.IO.Path.GetFileName(fileData.FileName));
         fileData.SaveAs(fileName);


        Convert(outputType, inFile,outFolder,timeout, topMargin, bottomMargin, leftMargin, rightMargin);

         return "OK"; 
     }

ビルドしようとするたびに、型がメソッドとして使用されています アドバイスをお願いします....

4

1 に答える 1

0

Convertメソッドが というクラスにある場合は、そのクラスを呼び出してから...を呼び出すConverters必要があります。instantiateConvert

public Converters {
   public void Convert(...);
} 

次に、このように使用します...

public string UploadAsPDF(HttpPostedFileBase fileData)
     {
         var fileName = this.Server.MapPath("~/uploads/" + System.IO.Path.GetFileName(fileData.FileName));
         fileData.SaveAs(fileName);


        var converters = new Converters();
        converters.Convert(outputType, inFile,outFolder,timeout, 
                           topMargin, bottomMargin, leftMargin, rightMargin);

         return "OK"; 
     }
于 2013-11-10T09:15:15.723 に答える