【问题标题】:The server tag is not well formed - running ASP code from Javascript服务器标记格式不正确 - 从 Javascript 运行 ASP 代码
【发布时间】:2021-03-10 20:14:34
【问题描述】:

我在我的 ASP.net Web 应用上实现了一个用 C# 和 Javascript 编写的 mmenu。

菜单按预期工作,我现在尝试将当前用户登录信息添加到菜单底部的固定页脚中。

这是我尝试过的。

        document.addEventListener(
            "DOMContentLoaded", () => {
                new Mmenu("#menu"), {
                    wrappers: ["bootstrap"],
                    "navbars": [
                        {
                            "position": "bottom",
                            "content": [
                                "<div class='jumbotron'>",
                                "<p class= 'lead' > Welcome!</p >",
                                "<asp: LoginName ID=" + LoginName1 + "runat='server' Font-Bold='true' />",
                                "<br />",
                                "<br />",
                                "<asp: LoginStatus ID=" + LoginStatus1 + "runat='server' /></div >"
                            ]
                        }
                    ],
                };

            }
        );

Javascript 会验证,但是当我尝试加载页面时。我收到一条错误消息,指出“服务器标签的格式不正确。”对于这行代码。

"<asp: LoginName ID=" + LoginName1 + "runat='server' Font-Bold='true' />",

如果有人能帮助我了解如何解决这个问题,我将非常感激

【问题讨论】:

  • 是 LoginName 是您的自定义控件吗? "和runat='server'之间也应该有空格,我也不认为这是用变量设置id的方式
  • 那些asp标签不是有效的html,需要服务器端处理
  • 谢谢,有道理。如何处理服务器端,然后作为变量传递给 JS?
  • 你能用它们应该生成的 HTML 替换那些 &lt;asp: 标记吗?
  • 或者另一种方法:总是将这些控件添加到 asp 页面本身(服务器端代码),但隐藏包含它们的面板。使用客户端 javascript 使此面板可见

标签: javascript asp.net mmenu


【解决方案1】:

你不能像那样添加id。这不是 asp.net 的工作方式

"<asp: LoginName ID=" + LoginName1 + "runat='server' Font-Bold='true' />",

LoginName 这样的asp.net 控件必须在服务器中定义并在服务器上编译。这只是不编译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多