我正在使用回调来执行字符串函数,但我无法在标签上显示返回值。
外观:
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获得此回复?
答案 0 :(得分: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);