2016-12-12 2 views
0

В качестве справочной информации здесь я рассматриваю этот элемент управления: AjaxControlToolKit AsyncFileUpload.C# .NET Webforms -> ajaxcontroltoolkit.net -> AsyncFileUpload, триггер OnClientUploadError serverside

Контекст: обслуживание устаревшего приложения .NET webforms (codebehind). Я прошу показать ошибки, которые происходят с серверами.

Невозможно просто установить метку в коде позади, потому что элемент управления выполняет 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); 
} 

Если бы я только мог это исправить, то я мог бы закончить и поставить исправление производства. Я ценю вашу помощь!

ответ

0

Удаление 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!!!"); 

теперь у меня есть доступ к ErrorMessage стороне клиента, я теперь свободна, чтобы показать это, как мне нравится.

Решение должно быть реализовано: OnClientUploadError (re) выдают исключение без innerexception.

Это решение также ответит на некоторые другие вопросы, которые я прочитал в stackoverflow. Свяжите их с этим ответом.

Смежные вопросы