Devo substituir padrões de seqüência de caracteres em asp.net mvc usando um personalizado viewengine?

StackOverflow https://stackoverflow.com/questions/2543055

Pergunta

Ter um ASP.NET MVC site que está localizada.A localização funcionalidade adiciona dois dígitos de IDENTIFICAÇÃO de idioma para o URL, exemplo:/es/Página.Se nenhum Id de idioma é encontrado na URL, o site muda para o navegador do usuário cultura.Tudo é bom.No entanto, o site hiperlinks, uma mistura de hard-coded href tags, actionlinks, etc., não incluem a base de IDENTIFICAÇÃO de idioma, de modo que quando clicar com o site a definir a cultura é perdido, e o site será revertido para o navegador do usuário cultura.

Meu (preguiçoso) o pensamento é substituir todas as href valores, que não aponte para um site externo, com os localizada URL (por exemplo,incluir a /es/).Caso contrário, todos os links de site precisa ser atualizada para incluir o código de cultura.

Isso é simplesmente estúpido?Ou, razoável, e deve ser feito através de um mecanismo de exibição personalizado, ou alguma outra abordagem?

Nenhuma solução correta

Outras dicas

A minha resposta é (atualmente):

O app tem um controlador de base, aí eu adicionei:

if (PathLanguageCode == "" && requestContext.HttpContext.Session["LanguageCode"] != null && requestContext.HttpContext.Request.RequestType == "GET")
{
    requestContext.HttpContext.Response.Redirect("/" + requestContext.HttpContext.Session["LanguageCode"] + requestContext.HttpContext.Request.RawUrl);
}

Este exemplo não mostra como o PathLanguageCode variável está definida, mas deve, pelo menos o suficiente para mostrar como isso pode ser manipulado de forma centralizada, sem a substituição de valores de seqüência de caracteres.

A única desvantagem dessa abordagem, que eu posso ver, é que o site realmente não é amigável para os motores de pesquisa, etc., desde que a gente acaba fazendo um monte de redirecionamentos.

Se você quiser você pode olhar para a minha abordagem que fizemos.Fala-se de colocar a cultura na URL.Espero que ajude!

Culta Mecanismo de Exibição do MVC

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top