如何在CodeBehind中获得System.Web.UI.WebControls.Menu的HTML输出

本文关键字:WebControls UI Menu 输出 HTML Web System CodeBehind | 更新日期: 2023-09-27 18:12:48

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

我试图使用https://stackoverflow.com/a/58931/1300140上提到的解决方案获得菜单的html,但没有成功。它抛出了一个错误,说"类型为'Menu'的控件'ctl03'必须放在runat=server的表单标签中"

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

如何在CodeBehind中获得System.Web.UI.WebControls.Menu的HTML输出

首先用标签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页面加载,如果你想。如果有帮助,请告诉我。