Запрос параметров URL в C # - PullRequest
0 голосов
/ 09 января 2012

Я использую для запроса параметров из URL-адреса

если URL- http://www.domain.ext/default.aspx?id=123&name=abc

В приведенном выше примере мы можем запросить два параметра, т.е. id и name со страницы default.aspx как string myid = Request["id"]; и string myname = Request["name"];

Но в URL профиля Facebook есть что-то подобное.

http://www.facebook.com/john.deo или http://www.facebook.com/madcoder

Там, где не будет никакого имени страницы и определить имя с синтаксисом. Как запросить параметры (john.deo или madcoder) из URL в C #?

Ответы [ 3 ]

3 голосов
/ 09 января 2012

Этого можно достичь, добавив правила в файл htaccess.

RewriteRule ^([A-Za-z0-9_-]*)/$ index.php?name=$1

Это правило будет означать, что если вы наберете в браузере http://www.mydomain.co.uk/john, вы можете получить значение 'john', запросив параметр 'name'.

0 голосов
/ 09 января 2012

Все зависит от того, насколько сложным является ваше решение.Но один простой способ сделать это - использовать маршрутизацию страниц.

Вы можете зарегистрировать маршрут в вашем Global.asax -> Application_Start следующим образом:

RouteTable.Routes.MapPageRoute("Route name", "requestformat", "physicalfile", checkPhysicalUrlAccess, routeValueDefaults, routeConstraints);

Затем в вашем формате запроса укажите параметры вроде "{name} ", а затем по умолчанию укажите параметр name в словаре «routeValueDefaults» и поместите ограничение на него в словаре «RouteContstrains».Ограничение может быть задано с помощью регулярного выражения, поэтому, если вы хотите, чтобы имена были только единственными символами, вы могли бы использовать что-то вроде этого "\ w +".

Затем параметр попадает в коллекцию Page.RouteData["name"]физическая страница.

0 голосов
/ 09 января 2012

Это не параметры URL, они используются для идентификации ресурса.
Вы можете использовать регулярное выражение, единственная цель которого - получить "john.deo" в данном URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...