Множество 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");
}
Если это - только Ваш последний параметр, Вы могли бы сделать:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{*id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" }); // Parameter defaults
В .NET 4.0 beta 2 команда CLR предложила обходной путь.
Добавьте это в свой файл web.config:
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>
Это вызывает класс Uri должен вести себя в соответствии с RFC, описывающим URI, что позволяет экранировать косую черту в пути без отмены экранирования. Команда CLR сообщает, что они отклоняются от спецификации по соображениям безопасности, и установка этого параметра в вашем файле .config в основном заставляет вас взять на себя ответственность за дополнительные соображения безопасности, связанные с предотвращением отмены экранирования косых черт.
Еще один вариант - использовать значение строки запроса. Очень неубедительно, но проще, чем пользовательская кодировка.
http://localhost:5000/Home/About?100%2f200
Это интересно в .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);
}