【问题标题】:Can I dynamically add HTML within a div tag from C# on load event?我可以在加载事件时从 C# 的 div 标记中动态添加 HTML 吗?
【发布时间】:2010-10-02 19:03:09
【问题描述】:

请注意,我正在使用母版页,但我可以在页面中找到一个 div 并在其中放入一些 html 吗?谢谢。

【问题讨论】:

  • 您说的是在页面或控件中,在服务器端还是在客户端?我认为这有几个不同的方面,但总的来说答案是肯定的,尽管 YMMV。

标签: c# asp.net .net-3.5 master-pages


【解决方案1】:

您可以在页面中添加一个带有 runat="server" 的 div:

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

然后从代码隐藏中设置其 InnerHtml 属性:

myDiv.InnerHtml = "your html here";

如果你想在客户端修改DIV的内容,那么你可以使用类似这样的javascript代码:

<script type="text/javascript">
    Sys.Application.add_load(MyLoad);
    function MyLoad(sender) {
        $get('<%= div.ClientID %>').innerHTML += " - text added on client";
    }
</script>

【讨论】:

  • 非常感谢。应用程序的截止日期向上移动,真的需要这个代码。再次感谢
  • 我使用了你的方法,并且很好地使用了 stringbuilder 并将序列化的字符串返回到 js 端。您介意我将其添加到您的答案中吗?因为如果没有序列化,某些双引号字符串将无法从 C# 正确传输到 js。
  • 这还能用吗?我累了,它对我不起作用。
【解决方案2】:

为此使用asp:Panel。它转化为一个 div。

【讨论】:

    【解决方案3】:

    记得使用

    myDiv.InnerHtml = "something";
    

    将替换 myDIV 中的所有 HTML 元素。您需要附加文本以避免这种情况。这可能会有所帮助

    myDiv.InnerHtml = "something" + myDiv.InnerText;
    

    myDiv 中的任何 html 控件,但不是 ASP html 控件(因为它们尚未呈现)。

    【讨论】:

      【解决方案4】:

      您可以通过这种方式引用母版页内的控件:

      void Page_Load()
      {
          ContentPlaceHolder cph;
          Literal lit;
      
          cph = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
      
          if (cph != null) {
              lit = (Literal) cph.FindControl("Literal1");
              if (lit != null) {
                  lit.Text = "Some <b>HTML</b>";
              }
          }
      
      }
      

      在此示例中,您必须在 ContentPlaceholder 中放置一个 Literal 控件。

      【讨论】:

        【解决方案5】:

        您想将代码放在将 HTML 插入到使用该母版页的页面内容中的母版页代码中吗?

        我不会通过 FindControl 搜索控件,因为这是一个脆弱的解决方案,如果控件的名称发生更改,很容易被破坏。

        最好的办法是在母版页中声明一个任何子页都可以处理的事件。该事件可以将 HTML 作为 EventArg 传递。

        【讨论】:

        • 能举个例子吗?
        猜你喜欢
        • 2017-12-18
        • 1970-01-01
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        • 2023-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多