我无法获得Div的内在内容,因为内容不是字面意思

时间:2015-06-18 10:01:02

标签: html c#-4.0

我有一个母版页和一个内容页面。我正在动态创建菜单。为此,我在母版页中定义了一个div“sidebar-menu”,如下所示:

 <div id="sidebar-menu" runat="server">
  </div>

我想在后面的代码中访问div“sidebar-menu",并希望使用”sidebar-menu“InnerHTML属性附加菜单。 但是,只要页面加载“sidebar-menu”。 InnerText属性抛出Type

的异常
  

System.Web.HTTP.HTTPExtension

我想知道为什么InnerText属性会在我加载页面之前立即引发异常?

我搜索了一下并应用了大部分解决方案,但仍无法解决此问题。任何建议都非常感谢。

1 个答案:

答案 0 :(得分:0)

我无法找到&#34; Div的内容不是字面意思&#34;但我找到了另一种方法将菜单附加到div&#34; sidebar-menu&#34;在代码背后。

我在后面的代码中创建了一个方法,使用&#34; Response.Write&#34;创建菜单的标记。如下。

public void RenderMenu()
{
    Response.Write("<li>");
    Response.Write("<a href='#'><i class='glyph-icon flaticon-email'></i><span class='sidebar-text'>Email</span><span class='fa arrow'></span></a>");
    Response.Write("<ul class='submenu collapse'>");
    Response.Write("<li><a href='mailbox.html'><span class='sidebar-text'>Inbox</span></a></li>");
    Response.Write("<li><a href='email_compose.html'><span class='sidebar-text'>Write a Message</span></a></li>");
    Response.Write("</ul>");
    Response.Write("</li>");
}

注意:为简单起见,我没有显示访问数据库的代码;自方法&#34; RenderMenu&#34;写在后面的代码中我们可以很容易地动态创建菜单。

然后我在Div&#34;侧边栏菜单&#34;中调用了此方法。如下

<div id="sidebar-menu" runat="server"> <%RenderMenu();%>  </div>

这成功创建了动态菜单。