Compartilhar via


Como: Construir um URL de uma rota

Você pode usar o ASP.NET roteamento para gerar URLs que correspondem a padrões são definidos em um aplicativo ASP.NET.Você criar URL chamando o GetVirtualPath método para o RouteCollection classe e passar um dicionário de valores de parâmetro. Roteamento ASP.NET compara os valores de parâmetro para os padrões de URL e gera uma URL com base na primeira rota cujo padrão corresponde aos parâmetros.

Você pode passar valores extras no dicionário de valores de parâmetro.Valores que corresponde a um parâmetro na definição de rota estão incluídos na URL.Valores adicionais são incluídos sistema autônomo valores de seqüência de caracteres de consulta.

Quando você cria uma URL, mais de uma definição de rota pode coincidir com os parâmetros que você passar.Você pode especificar qual rota deve usar para criar a URL, fornecendo o nome de uma rota.Você pode especificar um nome para um rota quando você adiciona à coleção de rotas.

Você deve definir rotas no aplicativo ASP.NET antes de construir URLs com roteamento de URL.Para obter mais informações, consulte Como: Definir uma rota.Para obter informações sobre como configurar um projeto de site ASP.NET Web usar roteamento, consulte Como: Use o roteamento com Web Forms.

Criando uma URL com base em uma rota correspondente

Quando ASP.NET roteamento constrói uma URL, ele usa a rota nomeada que você especificar ou a primeira rota tem um padrão que corresponde aos parâmetros que você fornecer.

Para criar uma URL

  1. Criar uma instância do RouteValueDictionary classe que contém todos os valores de parâmetro que você deseja incluir na URL. Os valores de parâmetro devem incluir valores que correspondem um padrão de rota.Ele pode incluir valores extras; em caso afirmativo, esses valores serão atribuídos à seqüência de consulta.

  2. telefonar the GetVirtualPath método para o RouteCollection classe e passar a RouteValueDictionary objeto para construir a URL. Para indicar uma rota específica, inclua o nome do roteiro.

    The GetVirtualPath método retorna um VirtualPathData objeto.

  3. From a VirtualPathData objeto que é retornado a partir do GetVirtualPath método, recuperar o VirtualPath propriedade para obter a cadeia de caracteres que representa a URL.

Exemplo

O exemplo a seguir mostra como criar um URL de um rota.O exemplo supõe que você adicionou duas rotas para o aplicativo ASP.NET.A primeira rota é denominada SalesRoute e define o padrão SalesReport/{locale}/{year}. Segunda a rota é denominada ExpensesRoute e define o padrão ExpensesReport/{locale}/{year}. Para obter mais informações, consulte Como: Definir uma rota.

O exemplo mostra como especificar o nome do rota quando você constrói a URL.Ambos os SalesRoute e ExpensesRoute tirar os parâmetros year e locale. Portanto, você pode especificar a rota que você deseja usando um nome.

O exemplo também mostra como incluir um parâmetro extra quando você constrói a URL.The category parâmetro serão incluído sistema autônomo um valor de seqüência de caracteres de consulta quando a URL é construída.

Dim vpd As VirtualPathData
Dim url As String
Dim parameters As RouteValueDictionary

parameters = New RouteValueDictionary(New With _
    {.year = "2007", .locale = "en-CA", .category = "recreation"})

vpd = RouteTable.Routes.GetVirtualPath _
  (Nothing, _
  "SalesRoute", _
  parameters)

url = vpd.VirtualPath
RouteValueDictionary parameters = new RouteValueDictionary { 
    { "year", "2007" }, { "locale", "en-CA" }, {"category", "recreation"} };

VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(
  null,
  "SalesRoute",
  parameters);

string url = vpd.VirtualPath;

Consulte também

Tarefas

Como: Definir uma rota

Conceitos

Roteamento de ASP.NET