/ / Url reescrita no .NET 3.5 - c #, asp.net, url-reescrita

Url reescrevendo em .NET 3.5 - c #, asp.net, url-rewriting

Quando clicado, um link na minha página redirecionará para:

http://www.abc.com/document.aspx?sid=42&rid=1&mid=1

Eu quero mostrá-lo na barra de endereços como:

http://www.abc.com/models/childfirst/inbrief

Onde

  • models torna-se o valor de rid
  • childfirst torna-se o valor de sid
  • inbried torna-se o valor de mid

Como posso fazer isso?

Respostas:

1 para resposta № 1

Com base em sua URL de exemplo, eu suponho que você esteja usando formulários da Web do ASP.NET. Se isso é correto, eu recomendo que você verifique Reescrita de URL e URL amigável configurações.


0 para resposta № 2

Tabelas de roteamento:

http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx

você também pode usar tabelas de roteamento,

Global.asax

RegisterRoutes (RouteTable.Routes); em application_onstart

Em seguida, crie as rotas necessárias:

routes.MapPageRoute ("nome", "seção / {categoria}", "~ / seção / índice.aspx");

então você pode usar:

_value = Page.RouteData.Values ​​["category"] como string;

para obter os dados para cada parte.


0 para resposta № 3

Dustin Laine, Eu tentei o link que você deu e tente isso, mas o tempo todo ele está redirecionando para a mesma página,

<rewriter>
<rewrite url="/models/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" />
<rewrite url="/implementation/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" />
<rewrite url="/outcomes/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" />
<rewrite url="/publications/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
<rewrite url="/help/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
<rewrite url="/aboutus/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
<rewrite url="/review/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
</rewriter>

Eu acho que não é falar valores de $ 1, $ 2, $ 3 beacause no meu URL de destino é como / dococom.aspx?sid=42&rid=1&mid=1 mas quando eu digito no url é este / models / childfirst / inbrief.


0 para a resposta № 4

Eu usei urlrewriter no passado para o .NET 3.5 e funciona muito bem.

* link removido já que não era mais a ferramenta.