【问题标题】:C# .NET Webforms -> ajaxcontroltoolkit.net -> AsyncFileUpload, trigger OnClientUploadError serversideC# .NET Webforms -> ajaxcontroltoolkit.net -> AsyncFileUpload,触发 OnClientUploadError 服务器端
【发布时间】:2016-12-12 15:24:33
【问题描述】:

作为参考,这是我在这里讨论的控件:AjaxControlToolKit AsyncFileUpload

上下文:维护旧的 .NET 网络表单(代码隐藏)应用程序。我被要求显示发生在服务器端的错误。

不可能只在后面的代码中设置标签,因为控件执行的是 AsyncFileUpload。

正如 API 描述的那样,控件提供:OnClientUploadError

所以我将它添加到控件中:

<ajaxToolkit:AsyncFileUpload ID="fuImportEpAuth" runat="server"
    OnClientUploadStarted="ImportEpAuthStartUpload"
    OnClientUploadComplete="ImportEpAuthUploadComplete"
    OnUploadedComplete="fuImportEpAuth_UploadedComplete" 
    OnClientUploadError="ImportEpAuthError" />
<asp:Label ID="lblImportWccAuth" runat="server" />

并在页面中添加了以下javascript:

function ImportEpAuthError(sender, args) {
    var errorText = args.get_errorMessage();

    var errorLabel = document.getElementById('cphContent_lblImportWccAuth');
    errorLabel.innerText = errorText;
    errorLabel.style.color = "red";
    $.unblockUI();
}

代码执行,标签显示错误信息。

请关注:var errorText = args.get_errorMessage();

它包含这条消息:

服务器响应错误:'对象引用未设置为对象的实例。'

我的问题或挑战是:它应该显示我抛出的错误消息。

(此代码在服务器端)

try
{
    // Upload and process file
    UploadAndProcessFile(importType, fileUpload, sPath, settingsName);
}
catch (Exception ex)
{
    //throw new Exception(ex.Message, ex);
    throw new Exception("Please help me stackoverflow, I need to show this message!!!", ex);
}

如果我能解决这个问题,那么我就可以完成并将修复交付到生产环境中。感谢您的帮助!

【问题讨论】:

    标签: c# asp.net .net webforms ajaxcontroltoolkit


    【解决方案1】:

    删除 InnerException 将导致以下消息:

    服务器响应错误:'请帮助我 stackoverflow,我需要显示此消息!!!'

    //throw new Exception("Please help me stackoverflow, I need to show this message!!!", ex);
    throw new Exception("Please help me stackoverflow, I need to show this message!!!");
    

    我现在可以访问错误消息客户端,我现在可以随意显示它。

    解决方案是实现:OnClientUploadError (re) throw the exception without the innerexception。

    此解决方案还将回答我在 stackoverflow 上阅读的其他一些问题。请将它们链接到此答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多