Закодированная URL наклонная черта в URL

Множество if условий удовлетворены, следовательно, вы получаете повторения. Попробуйте немного передвинуть if-else: -

if (i % 2 === 0 && i % 3 === 0) {
    console.log("The number " + i + " is divisible by two and three");
} else if (i % 3 === 0) {
    console.log("The number " + i + " is divisible by three");
} else if (i % 2 === 0) {
    console.log("The number " + i + " is even");
} else {
    console.log("The number " + i + " is odd");
}
56
задан Community 23 May 2017 в 11:47
поделиться

4 ответа

Если это - только Ваш последний параметр, Вы могли бы сделать:

routes.MapRoute(
    "Default",                                                // Route name
    "{controller}/{action}/{*id}",                            // URL with parameters
    new { controller = "Home", action = "Index", id = "" });  // Parameter defaults
48
ответ дан Mehrdad Afshari 26 November 2019 в 17:19
поделиться

В .NET 4.0 beta 2 команда CLR предложила обходной путь.

Добавьте это в свой файл web.config:

<uri> 
    <schemeSettings>
        <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
    </schemeSettings>
</uri>

Это вызывает класс Uri должен вести себя в соответствии с RFC, описывающим URI, что позволяет экранировать косую черту в пути без отмены экранирования. Команда CLR сообщает, что они отклоняются от спецификации по соображениям безопасности, и установка этого параметра в вашем файле .config в основном заставляет вас взять на себя ответственность за дополнительные соображения безопасности, связанные с предотвращением отмены экранирования косых черт.

24
ответ дан 26 November 2019 в 17:19
поделиться

Еще один вариант - использовать значение строки запроса. Очень неубедительно, но проще, чем пользовательская кодировка.

http://localhost:5000/Home/About?100%2f200
11
ответ дан 26 November 2019 в 17:19
поделиться

Это интересно в .NET 4. В любом случае, эта ссылка описывает RFC 1738 и включает в себя, какие символы нуждаются в кодировании, а какие просто «небезопасны». текст ссылки

Если мне нужен URL-адрес, удобный для SEO (например, если вы хотите поместить тему сообщения форума в URL-адрес), пропустите кодировку и замените все, что не AZ, az, 0-9.

public static string CreateSubjectSEO(string str)
    {
        int ci;
        char[] arr = str.ToCharArray();
        for (int i = 0; i < arr.Length; i++)
        {
            ci = Convert.ToInt32(arr[i]);
            if (!((ci > 47 && ci < 58) || (ci > 64 && ci < 91) || (ci > 96 && ci < 123)))
            {
                arr[i] = '-';
            }
        }
        return new string(arr);
    }
0
ответ дан 26 November 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: