powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Можно ли автоматически заполнить карту сайта?
11 сообщений из 11, страница 1 из 1
Можно ли автоматически заполнить карту сайта?
    #37752188
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот есть в Студии такой элементик, как карта сайта.

Код: html
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="" title=""  description="">
        <siteMapNode url="" title=""  description="" />
        <siteMapNode url="" title=""  description="" />
    </siteMapNode>
</siteMap>



Но её, похоже, надо заполнять вручную. Есть ли способ, чтобы как-то оно сам всё прошлось по моим контроллерам и заполнилось, а я потом только подрихтовал - роли там, секьюрити всякие понавписывал.

Ну просто руками заполнять всё лень.
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37752198
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самому писать код с рефлексией - не предлагать. )
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37752298
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320, по запросу "asp.net mvc site map" в гугле находится MvcSiteMapProvider . Не пробовал, не знаю насколько он хорош.
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37752851
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня тоже есть вариант реализации своего провайдера карт сайтов. Их вообще немало в Инете. Но вопрос не в этом.

Вы только скажите, который из них умеет XML со схемой всех контроллеров и действий заполнять АВТОМАТИЧЕСКИ, а не чтобы я ему сначала руками подготовил. Чтобы сам генерил этот XML. И чтобы при добавлении нового контроллера, действия, при любом их изменении надо было только нажать "Refresh" и схема сама обновилась, а не я постоянно отслеживал её и руками правил.

Я расчитываю на то, что кто-то уже с этим сталкивался и знает, т. к. копаться в коде и выяснять, что из провайдеров что умеет - время терять. Этак и самому можно рефлексией по контроллерам пройтись и заполнить XMLку. Но неохота же. )
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37752904
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, нашёл. Спасибо.
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37884315
iSamurai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поделитесь, пожалуйста, находкой)
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37884922
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да это всем известная штука https://github.com/maartenba/MvcSiteMapProvider
И автогенерация эксемель схемы карты сайта должна быть по вот такой штуке https://github.com/maartenba/MvcSiteMapProvider/wiki/Defining-sitemap-nodes-in-code
Однако, у меня она не работает, если сделать только так, как по ссылке - атрибутом и всё. Эксемель карта не заполняется. Приходится всё равно её руками заполнять. Не знаю, может, там ещё что-то нужно добавить. Только если ещё что-то нужно, то будет похоже, что это уже перебор и руками составить карту будет проще. Да и нигде я не нашёл, что нужно ещё.

Если вам интересно, я написал создателю той библиотеки письмо с вопросами по этой теме:

Hello, Maarten.

I have two questions about your MVC sitemap provider.

The first question I posted at StackOverflow: http://stackoverflow.com/questions/10311055/asp-net-mvc-sitemap-provider-dont-generate-sitemap-nodes-from-attributes

As described here
https://github.com/maartenba/MvcSiteMapProvider/wiki/Defining-sitemap-nodes-in-code ,
I use attributes to define sitemap nodes in code. But attributed actions aren't generated as nodes. Only nodes are generated that are explicitly defined in the sitemap.

That is my code:

sitemap:

<mvcSiteMapNode
title="$resources:Mvc.sitemap,MainMenuTop_Main"
controller="Home"
action="Index"
key="Home">

<mvcSiteMapNode
title="$resources:Mvc.sitemap,Account"
controller="Account"
action="LogOn"
clickable="false"
key="Account" />

</mvcSiteMapNode>

</mvcSiteMap>


home controller:

[HttpGet]
[MvcSiteMapProvider.MvcSiteMapNode(
ParentKey = "Home",
Title = "$resources:Mvc.sitemap,MainMenuTop_About")]
public ActionResult About()
{
return View();
}

account controller:

[HttpGet]
[MvcSiteMapProvider.MvcSiteMapNode(
ParentKey = "Account",
Title = "$resources:Mvc.sitemap,Register")]
public ActionResult Register()
{
return View();
}

So, these two actions won't become nodes in sitemap. Why?



The second question is:

How to choose various display templates for nodes? I want to show various node styles in various menus. But Html.MvcSiteMap().Menu(), Html.MvcSiteMap().SiteMapPath() and so forth functions of Html.MvcSiteMap() can receive templates for their own structure only, not for nodes. And all of these functions use single SiteMapNodeModel.cshtml template. How to choose another node template? Is there really only one way – to rewrite the single SiteMapNodeModel.cshtml template?

Ответа так и не пришло. Мне на СтэкОверфлоу дали наводку, что, вроде, это связано с областями (Area) - надо ещё дополнительно области доопределить. Я уже не стал дальше в это углубляться и удовлетворился ручной забивкой карты сайта, однако, на всякий случай ещё и атрибуты понаставил к методам действий. У меня карта пока маленькая, так что пока сойдёт.

Может, если столкнётесь с этой проблемой, сможете спросить автора прямо на GitHub у него в разделе Issues - я не захотел заморачиваться с регистрацией.
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37885042
iSamurai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, такой вариант для решения моей задачи не подходит(
А задача такая: есть сайт на asp.net mvc с кучей страниц и требуется обойти все эти страницы и проверить их работоспособность. Проверку работоспособности осуществляю с помощью Nunit'a и Telerik Testing Framework. Соответственно, мне нужен список всех страниц, чтобы по ним пройтись, думал можно автоматически сгенерировать карту сайта и брать оттуда. Добавлять к каждой функции атрибут не вариант, ибо страниц очень много. Если кто-нибудь знает как это осуществить буду премного благодарен=)
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37885134
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iSamuraiК сожалению, такой вариант для решения моей задачи не подходит(
А задача такая: есть сайт на asp.net mvc с кучей страниц и требуется обойти все эти страницы и проверить их работоспособность. Проверку работоспособности осуществляю с помощью Nunit'a и Telerik Testing Framework. Соответственно, мне нужен список всех страниц, чтобы по ним пройтись, думал можно автоматически сгенерировать карту сайта и брать оттуда. Добавлять к каждой функции атрибут не вариант, ибо страниц очень много. Если кто-нибудь знает как это осуществить буду премного благодарен=)
Первое, что приходит на ум, это создать этакий парсер, который пройдёт по всем вашим контроллерам и определит, где там функции, а где нет. Ну, и, соответственно, сгенерирует все пути к страницам, по которым можно будет их тестить. Ну, или поискать уже готовые такой парсер.

Собственно, признак функции контроллера известен и прост, так что, думаю, парсер не будет сложным.
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37885136
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори определит, где там функции, а где нет.
Не функции контроллера, а действия контроллера, конечно же.
...
Рейтинг: 0 / 0
Можно ли автоматически заполнить карту сайта?
    #37885415
iSamurai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую покопать в этом направлении, спасибо за совет
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Можно ли автоматически заполнить карту сайта?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]