【问题标题】:Load html from returned string从返回的字符串加载 html
【发布时间】:2013-08-22 08:07:17
【问题描述】:

我在代码隐藏中有字符串及其返回函数:

string xmlContents = "<ul><li>Installation<br /><ul><li>Startup</li><li>Getting there</li><li>Steps</li>" +
                    "<li>Pictures</li></ul></li><li>Usage<br /><ul><li>Tilbud pane</li><li>Report pane</li>" +
                "</ul></li></ul>";
public String returnXml()
    {
        return xmlContents;
    }

然后我在aspx文件中调用它:

<div id="treeviewMenu">
    <%returnXml(); %>
</div>

当我直接在 div 中编写(列表的)html 代码时 - 没关系。但是通过传递字符串 - 它不起作用。

我做错了什么以及如何解决?

【问题讨论】:

    标签: html asp.net code-behind


    【解决方案1】:

    您可以通过添加 runat="server" 使 div 服务器可访问来轻松地将 html 分配给 div

    HTML

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

    在后面的代码中

    treeviewMenu.InnerHTML = xmlContents;
    

    【讨论】:

    • 当我添加= 登录&lt;%= returnXml(); %&gt; 时出现异常。否则它运行。我应该把treeviewMenu.InnerHTML = xmlContents; 放在后面的代码中,因为如果我把它放在我拥有的函数中,我会遇到异常。如果我把它分开,编译器是不高兴的。总的来说,如果我使用这个treeviewMenu.InnerHTML =...,返回字符串的函数有什么意义?
    • 我只是通过在Page_Load() 中使用treeviewMenu.InnerHTML=.... 并删除div 中的代码块来使它工作,因为我得到了异常The Controls collection cannot be modified because the control contains code blocks (i.e. &lt;% ... %&gt;).
    • 我也会这样做。
    【解决方案2】:

    注意:= 无符号;签到

    替换为以下代码:

    <div id="treeviewMenu">
       <%=returnXml() %>
    </div
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 2016-01-18
      相关资源
      最近更新 更多