Asp. Сетевой MVC, Направляющий - как я соответствую целому URL?

Лучший ответ, который я нашел до сих пор, выполняется это от Вашего корня проекта:

ruby script/generate migration add_d_column_to_myModel 

Затем редактируют новый файл миграции, расположенный в дб/миграции для взгляда чего-то как:

  def self.up
    add_column :myModel, :d, :string
  end

  def self.down
    remove_column :myModel, :d
  end

последний шаг должен будет обновить Ваши представления соответственно.

Ответ нашел здесь

, функции Таблицы нашли здесь

5
задан Mr. Flibble 24 October 2009 в 19:48
поделиться

3 ответа

{* url} будет соответствовать всему пути, а не только одному сегменту. Однако, поскольку он соответствует всему пути, вы не можете сопоставить партнерский идентификатор в конце. Маршрут будет соответствовать каждому запросу. Вы можете обойти это, добавив ограничение маршрута, чтобы убедиться, что url имеет в конце партнерский идентификатор:

routes.MapRoute(
    "WithAffiliate",
    "{*url}",
    new { controller="Home", action="LogCookieAndRedirect" },
    new { url = @"/x[0-9]+$" }
 );

После этого ваше действие должно будет проанализировать партнерский идентификатор из URL сам параметр. Если у вас есть возможность изменить структуру URL-адреса, можно было бы сопоставить идентификатор, если бы он был в начале пути:

routes.MapRoute(
    "WithAffiliate",
    "x{affiliateExternalId}/{*url}",
    new { controller="Home", action="LogCookieAndRedirect" }
 );
10
ответ дан 13 December 2019 в 22:10
поделиться

У вас может быть этот маршрут для приема всей почты домена, только если у вас определен только один маршрут. Но если у вас несколько маршрутов, вам придется добавить этот параметр {affiliateExternalId} ко всем маршрутам (если я чего-то не упустил).

Второй Роберт Харви предложение .

0
ответ дан 13 December 2019 в 22:10
поделиться

Если бы я делал это, я бы сделал его одним из значений в строке запроса.

Пример:

http//www.domain.com/path/to/something?affiliate=X32&query=string

Проблема в том, что идентификатор партнера необязательный . Если вы поместите его в путь, вы измените структуру пути в зависимости от того, присутствует ли партнерский идентификатор или нет, поэтому вам придется делать каждый из ваших маршрутов дважды (один раз с партнерским идентификатором, а другой - без). .

0
ответ дан 13 December 2019 в 22:10
поделиться
Другие вопросы по тегам:

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