skip to Main Content

I’m working on ASP.NET AJAX Web Application.

As part of the requirement, I need to show message to the end user with the uploaded file location. Everything is fine, but the alert message never shows "/" symbols in the path.

For the path: \shrestasoftintranetCorrectionReportsReportsWithAccountCorrectionReportWithAccount-Dec-22-2021-12-31-36-PM.xlsx

Below is how my alert dialog is displaying:

shrestasoftintranetCorrectionReportsReportsWithAccountCorrectionReportWithAccount-Dec-22-2021-12-31-36-PM.xlsx

enter image description here

I’ve written the below code:

    public static void ShowAlertWithFileLocation(object sender, string message)
    {
        message = "alert('" + message + "');";
        ScriptManager.RegisterClientScriptBlock((sender as Control), typeof(ScriptManager), "alert", message, true);
    }

I’ve tried to use HtmlUtility.HtmlEncode() method, but that did not work for me. Can someone suggest how can I get the appropriate filename with path?

2

Answers


  1. Chosen as BEST ANSWER

    The answer is very simple, but took more time for me to arrive to this conclusion. We just need to use new JavaScriptSerializer().Serialize(message); method.

    Below is my modified code:

        public static void ShowAlertWithFileLocation(object sender, string message)
        {
            message = new JavaScriptSerializer().Serialize(message);
            message = "alert('" + message + "');";
            ScriptManager.RegisterClientScriptBlock((sender as Control), typeof(ScriptManager), "alert", message, true);
        }
    

  2. The is considered a escape car. But in place of ‘ use ` and String.raw

    eg this:

     message = "alert(String.raw`" + message + "`);";
    

    note carefull – there is no () for String.raw – and you use ` and not ‘

    So, you use the ` that left to 1 key on most keyboards.

    eg:

     var s = String.raw`powerweight`
     alert(s)
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search