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 derid
childfirst
torna-se o valor desid
inbried
torna-se o valor demid
Como posso fazer isso?
Respostas:
1 para resposta № 1Com 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&rid=$2&mid=$3" />
<rewrite url="/implementation/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/outcomes/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/publications/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/help/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/aboutus/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/review/(.+)" to="/document.aspx?rid=$1&sid=$2&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.