У меня есть веб-приложение c#. Я пытаюсь показать пользователю ошибку, полученную из моего класса Data.cs. У меня есть строка publi c stati c в файле кода программной части (Udalost.aspx.cs), и я добавляю ошибку в эту строку по мере их появления.
Проблема в том, когда я измените текст из моего класса Udalost.aspx.cs, все работает нормально, но когда я меняю его из моего Data.cs (stati c class), окно предупреждения не отображается. Я попытался остановиться на строке, в которой вызывается окно предупреждения, и даже изменить строковое значение на то же, которое установил Udalost.aspx.cs (который отлично работает), и даже после этого окно предупреждения не появляется, поэтому оно вероятно, проблема не в строковом значении.
Может быть, это время, я вызываю метод для записи окна предупреждения в Page_PreRender. Проблема не в строковых значениях ... новые лайнеры (\ n; \ n), я пробовал использовать метод из Udalost.aspx.cs, поэтому он publi c stati c, но я не повезло. Я попытался вызвать inner_ShowMessageToUser даже сразу после того, как было выполнено сохранение в DataBase в data.cs, и при этом не появилось ни одного окна предупреждения.
//Udalost.aspx.cs - WebForm2
protected void Page_PreRender(object sender, EventArgs e)//after everything is done and before sending to client
{
ProvedPredOdeslanimKlientovi();
}
private void ProvedPredOdeslanimKlientovi()
{
if(ErrorMessage != "")//if some error occured
{
inner_ShowMessageToUser(ErrorMessage);//show the allert box called only from one place in app
ErrorMessage = "";//null the ms
}
}
public static void ShowError(string error)//add some error to the Error ms and do new line
{
ErrorMessage = error + "\\n";//přidej zprávu a odřádkuj
}
public void inner_ShowMessageToUser(string text)//show the alert box - called only once
{
try
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "ex", "alert('" + text + "');", true);
//Page.ClientScript.RegisterStartupScript(this.GetType(), "DeleteCond", $"<script type=text/javascript> alert('{text}')</script>");
}
catch(Exception e)
{
Data.ExeptionHandler(e);
}
}
//Data.cs
private static void ShowError(string error)
{
WebForm2.ErrorMessage += error+ "\\n";//the same but for Data.cs
}