2016-05-12 75 views
0

当您输入时,我的DNN网站上的登录页面不会提交。在拨打/DesktopModules/AuthenticationServices/DNN/Login.ascx文件后,我发现罪魁祸首是<%#ModuleId%>没有返回模块ID。DNN 8.00.02 - 获取当前模块ID

这里是如何使用它:

<script type="text/javascript"> 
    /*globals jQuery, window, Sys */ 
    (function ($, Sys) { 
     function setUpLogin() { 
      var actionLinks = $("a#dnn_ctr<%#ModuleId%>_Login_Login_DNN_cmdLogin"); 
      actionLinks.click(function() { 
       if ($(this).hasClass("dnnDisabledAction")) { 
        return false; 
       } 

       actionLinks.addClass("dnnDisabledAction"); 
      }); 
     } 

     $(document).ready(function() { 

      $('.dnnLoginService').on('keydown', function (e) { 
       if (e.keyCode === 13) { 
        var $loginButton = $('#dnn_ctr<%#ModuleId%>_Login_Login_DNN_cmdLogin'); 
        if ($loginButton.hasClass("dnnDisabledAction")) { 
         return false; 
        } 

        $loginButton.addClass("dnnDisabledAction"); 
        eval($loginButton.attr('href')); 
        e.preventDefault(); 
        return false; 
       } 
      }); 

      setUpLogin(); 
      Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() { 
       setUpLogin(); 
      }); 
     }); 
    }(jQuery, window.Sys)); 
</script> 

登录按钮结束了与dnn_ctr3927_Login_Login_DNN_cmdLogin的ID,但最终的jQuery吐出dnn_ctr_Login_Login_DNN_cmdLogin引起上面不是代码工作的权利。

如何获得正确的模块ID而无需对其进行硬编码?

回答

2

我认为这是一个错误。我用= ModuleId替换了#ModuleId,它似乎工作。 我建议你在/DesktopModules/AuthenticationServices/DNN/Login.ascx文件中尝试这种修改。

+0

这对我有效! – TheIronCheek