Em DotNetNuke, como posso obter um objeto moduleInfo se eu só tenho um ModuleId (e não um tabid)

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

Pergunta

O único método fornecido pelo quadro DNN para obter um módulo de ID também exige a identificação guia. O que posso fazer se eu não fizer Have a ID guia?

Foi útil?

Solução

O método GetModule fora da classe DotNetNuke.Entities.Modules.ModuleController aceitará um valor "nulo" para ID guia se você não tiver um ID guia. Ou seja, tente o seguinte:

new ModuleController().GetModule(moduleId, DotNetNuke.Common.Utilities.Null.NullInteger)

Veja também meu blog sobre o assunto .

Outras dicas

Uma coisa que atente para quando passar uma tabid nulo para GetModule é que se você tem um módulo que está instalado em um número de diferentes guias, você estará recebendo a primeira volta, então os valores para tabid, TabModuleId e ModuleOrder será com base nesse primeiro momento, que pode ou não pode ser o exemplo que você queria.

HTH,

Don

Brian, eu só dei uma olhada no código para GetModule (), e não há qualquer código VB específica no quadro que verifica a tabid sendo nula. O que é que interessante é que o procedimento armazenado que faz parte das fileiras do SqlDataProvider seleciona a partir da visão módulos que têm um moduleId correspondência, não importa o que tabid é ...

ALTER PROCEDURE [dbo].[dnn_GetModule]

    @ModuleId int,
    @TabId    int

AS
SELECT  * 
FROM dbo.dnn_vw_Modules
WHERE   ModuleId = @ModuleId
AND     (TabId = @TabId or @TabId is null)

Se eu entendi corretamente, isso iria retornar todas as linhas onde moduleId é o que você especificou, não importa se @tabid é nulo ou não. Isso faz com que o @TabId bastante inútil, você não acha?

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