Ações MVC não funcionam no Sitefinity

Usar MVC para construir widgets no Sitefinity é novo na versão 5.1. É muito legal porque você pode ter widgets (também conhecidos como controles) construídos com MVC na mesma página que os widgets de webforms. Você pode até usar widgets MVC dentro de páginas mestras de formulários da web antiquados. Isso é bom para minha equipe, pois provavelmente temos 20 widgets personalizados construídos usando formulários da web que funcionam bem. Podemos criar novas funcionalidades usando MVC, sem quebrar nada que atualmente funciona perfeitamente.

Eu estava fazendo minha primeira incursão no ASP MVC da Microsoft quando bati em uma parede. Nenhum dos meus actionLinks estava funcionando. O IIS continuava fornecendo erros 404 sempre que tentava fazer um link para uma ação. Parecia estar tratando o url como um URL real e não uma rota MVC … ou qualquer que seja o nome adequado para ele. Depois de várias horas hackeando, atribuí o problema ao fato de que estava usando bibliotecas MVC 4 (longa história), e o Sitefinity só suporta tecnicamente MVC 3.

Felizmente, o cara mais jovem da minha equipe estava procurando algo para fazer. Então, eu disse a ele para descobrir o que diabos estava acontecendo enquanto eu mudava para outro recurso (como um chefe). Depois de algumas horas, ele encontrou o problema. Acontece que você precisa ter a opção “Permitir validação de parâmetro” selecionada na seção Opções avançadas de qualquer página do Sitefinity em que o controle esteja.

Big ups para JZ por descobrir isso.