javascript - DNN 8.00.02 - 获取当前模块 ID

标签 javascript jquery asp.net dotnetnuke

当您按 Enter 键时,我的 DNN 网站上的登录页面不会提交。在探索了/DesktopModules/AuthenticationServices/DNN/Login.ascx之后文件,我发现罪魁祸首是 <%#ModuleId%>不返回模块 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>

登录按钮的 ID 为 dnn_ctr3927_Login_Login_DNN_cmdLogin但最终的 jQuery 吐出 dnn_ctr_Login_Login_DNN_cmdLogin导致上面的代码无法正常工作。

如何在不进行硬编码的情况下获得正确的模块 ID?

最佳答案

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

关于javascript - DNN 8.00.02 - 获取当前模块 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37192143/

相关文章:

asp.net - 从 HTML 添加到 aspx 文件时,CSS 背景图像属性发生变化

javascript - 阻止 sammy.js 窃取 'real links'

javascript - 向函数本地数组添加值,而不修改函数本身

asp.net - 将 ASP.NET 应用程序本地化为普通话

jquery - Fancybox: 100% 宽度 -100px

javascript - jQuery:我看到了append、prepend、appendTo,那么取出内容呢?

c# - 将 WinForms WebBrowser 控件作为 NETWORK_SERVICE 运行

javascript - 根据IP地址加载某些页面元素

javascript - 如何将 TypeScript 定义文件用于另一个函数

jquery - 如何处理 jQuery ajaxform 中的多个按钮?