1

我正在使用回调来执行字符串函数,但我无法在标签上显示返回。

看:

    protected void ASPxUploadControl1_FileUploadComplete(object sender,
           FileUploadCompleteEventArgs e)
    {
        try
        {
            e.CallbackData = SaveNewFile(e.UploadedFile);
            lblret.Text = ????
        }
        catch (Exception ex)
        {
            String error = ex.ToString();
            lbleret.Text = error;
        }
    }



    string SaveNewFile(UploadedFile upfile)
    {
        if (!upfile.IsValid)
            return string.Empty;

        String RMSG = "Houve um erro ao enviar o arquivo!";
        Guid nid = Guid.NewGuid();
        String extOK = "0";
        const String updir = "~/tempIMGS/";
        String[] extensao = { ".gif", ".png", ".jpeg", ".jpg", ".bmp" };//extensões
        FileInfo finfo = new FileInfo(upfile.FileName);

        long fmaxsize = 2097152;//tamanho do arquivo

        String filext = System.IO.Path.GetExtension(upfile.FileName);

        for (int i = 0; i < extensao.Length; i++)
        {
            if (filext == extensao[i])//se a extensão for permitida
            {
                if (upfile.ContentLength <= fmaxsize)//se o arquivo tiver no máximo 2mbs
                {
                    extOK = "1";
                }
                else
                {
                    RMSG = "O arquivo selecionado ultrapassa o tamanho máximo por arquivo (2Mbs) \n " + upfile.FileName.ToString();
                }
            }
            else
            {
                RMSG = "O arquivo não se encaixa no quadro de extensões permitiras! (.gif , .png , .jpeg , .jpg , .bmp";
            }
        }

        if (extOK == "1")
        {
            string resFileName = MapPath(updir) + nid + filext;
            upfile.SaveAs(resFileName);
            //Response.Write("<script>alert('arquivo enviado com sucesso');</script>");
            RMSG = "Arquivo enviado com sucesso!";
        }
        return RMSG;
    }

我正在尝试执行一个函数,并在执行中用一条消息定义 VAR RMSG,当函数结束时返回最后一条错误消息。

见'TRY' e.CallbackData = EXECUTE_FUNCTION,; 一旦返回将存储在 e.CallbackData 中,

我如何从 e.callbackdata 获得这个回报?

4

1 回答 1

1

您可以先将结果存储在变量中,然后将其分配给 CallbackData 和/或对其进行一些转换并将其分配给您的标签,如下所示:

        string result = SaveNewFile(e.UploadedFile);
        e.CallbackData = result;
        lblret.Text = String.Format(
                           "processed at {0} with a result of: {1}", 
                            DateTime.Now,  
                            result);
于 2013-09-20T18:54:06.070 回答