2012-05-01 3 views
0

У меня есть поддомен, который равен http://trade.businessbazaar.in. Я динамически создаю URL из базы данных таким образом http://trade.businessbazaar.in/mycompany. Чтобы отобразить детали, у меня есть файл index.aspx, считая, что по каждому запросу страница index.aspx будет загружаться и отображать данные по порядку. Кроме того, на странице index.aspx есть главная страница, на которой я собираю текст mycompany и запрашиваю его в базе данных для получения результата. Но ничего не работает.Перенаправление URL-адреса на страницу index.aspx с использованием стандартных asp.net3.5 и web.config

Подлинная ссылка: http://trade.businessbazaar.in/Symparlife. Но его невозможно загрузить index.aspx. Мне нужен чистый подход без каких-либо сторонних dll или перезаписывающих устройств. Непосредственно нажать несколько строк в конфигурации и начать работать. То есть URL будет та же, но индекс страница будет загружаться ...

Короче, я хочу сказать,

мне нужен механизм типа StackOverflow чистого URL-адрес для выборки страниц

Спасибо Advance

ответ

2

Вы можете обработать событие Begin_Request в Global.asax и добавить настраиваемый код для перенаправления на index.aspx и преобразовать части URL в аргументы строки запроса. Вы должны использовать Server.Transfer, чтобы сохранить URL-адрес в браузере.

Я бы рекомендовал обновить до 4.0 и использовать Routing enine. Вы должны проверить, доступна ли стандартная маршрутизация как загрузка для ASP.NET 3.5. Я уверен, что ваш код скоро станет беспорядочным. Был там, сделал это.

Как @Mike Miller упоминает в комментариях, механизм маршрутизации поставляется с ASP.NET 3.5. Вы можете проверить документацию здесь - http://msdn.microsoft.com/en-us/library/system.web.routing(v=vs.90).aspx

Вот учебник о том, как использовать его с Web Forms - http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

В вашем случае код будет что-то вроде:

routes.MapPageRoute("company-index", "/{company}", "~/index.aspx") 

И в индекс .aspx вы можете получить доступ к стоимости маршрута для такой компании:

string company = (string)Page.RouteData.Values["company"]; 

Имейте в виду, что вам лучше добавить что-то в URL до вашего фактического аргумента (название компании). Если вы этого не сделаете, у вас появятся проблемы позже, потому что вы можете добавить URL-адрес, например «/ Login», но тогда вам придется подтвердить, что пользователи не могут создать компанию под названием «Логин». Не то, как переполнение стека имеет «/ questions /» перед фактической информацией о вопросе в URL-адресе.

+1

Вы можете использовать Маршрутизацию в 3.5, http://msdn.microsoft.com/en-us/library/system.web.routing(v=vs.90).aspx –

+0

Добавили ли они это в 3.5? Я думал, что он доступен только для скачивания? – Stilgar

+0

Могу ли я использовать подстановочные знаки со встроенным механизмом маршрутизации ??? –

Смежные вопросы