Автоматическое добавление меню на основе базы данных

Вы применяете строковые методы для целых слов, а не для отдельных символов. Вы не применяете условие any или all, чтобы проверить, соответствуют ли любые или все символов в каждом слове.

Например, с условием any для каждого слова:

def fun(s):
    for i in s:
        print('\n', i)
        if any(letter.isalnum() for letter in i):
            print('Alnum', True)
        if any(letter.isalpha() for letter in i):
            print('Alpha', True)
        if any(letter.isdigit() for letter in i):
            print('Digit', True)
        if any(letter.isupper() for letter in i):
            print('Upper', True) 
        if any(letter.islower() for letter in i):
            print('Lower', True)

s = input().split()
fun(s)

Результат:

One test 123

 One
Alnum True
Alpha True
Upper True
Lower True

 test
Alnum True
Alpha True
Lower True

 123
Alnum True
Digit True
0
задан PawelC 19 January 2019 в 19:48
поделиться

2 ответа

Простым ответом было бы сделать цикл foreach на странице, где вы хотите меню, и привязать к нему коллекцию, создав HTML-теги из коллекции. Если вы хотите, чтобы он был в файле _Layout.cshtml, то в дополнение к данным меню в коллекции вам нужно было бы добавить также представление, к которому оно относится, чтобы вы могли отфильтровать то, какие элементы отображаются на какой странице. Таким образом, пример будет выглядеть примерно так:

@foreach (var item in menuItems.Where(x => x.View == "pass the view name"))
{
   <div class="menuItem" name="item.Name"/>
   ....
}

Или если вы используете какую-то другую структуру меню, например, <li> или treeList, используйте разные теги:)

Имя представления может быть передано ViewData["viewName"] или ViewContext.RouteData.Values["controller"].ToString() По мере того, как оно должно проходить текущий вид, меню находится в нем и соответственно заполняет меню.

0
ответ дан markorial 19 January 2019 в 19:48
поделиться

Вы должны рассмотреть возможность использования Просмотр компонента . Это хорошее решение для динамических меню.

0
ответ дан Danilo Mikovic 19 January 2019 в 19:48
поделиться
Другие вопросы по тегам:

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