【问题标题】:How to get HTML output of System.Web.UI.WebControls.Menu in CodeBehind?如何在 CodeBehind 中获取 System.Web.UI.WebControls.Menu 的 HTML 输出?
【发布时间】:2016-10-13 07:59:24
【问题描述】:

我有一个包含 ASP.NET WebForms 网站和 MVC 5 应用程序的解决方案。 WebForms 项目包含一个用于主导航的MenuControl。我也需要在 MVC 项目中拥有相同的菜单。

我尝试使用https://stackoverflow.com/a/58931/1300140 中提到的解决方案获取菜单的 html,但没有成功。它抛出错误说“必须将'Menu'类型的控件'ctl03'放在带有runat = server的表单标签内”

如何获取菜单的 HTML 输出?另外,有没有更好的方法来实现我想要做的事情?

【问题讨论】:

    标签: c# asp.net asp.net-mvc


    【解决方案1】:

    首先创建一个带有标签 runat=server 的 div(或任何其他 asp.net 控件),以便您可以从后面的代码中访问它。

    然后一点 jquery 就完成了。

    html:

     <div id="myDiv" runat="server"></div>
    

    jquery:

    $(document).ready(function () {
           $("myDiv").html($("#yourMenuIdHere").html());
        });
    

    后面的代码:

    var divContent= myDiv.InnerHtml;
    

    所以你得到了 divContent 变量中的所有内容。如果需要,您可以在页面加载时隐藏您的 myDiv。让我知道这是否有帮助。

    【讨论】:

    • 感谢您的回答,我试图将其作为最后的手段,因为我将不得不等待请求/回发。
    猜你喜欢
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2016-04-13
    • 2020-05-19
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多