【问题标题】:Unable to render the HTML output on a Page无法在页面上呈现 HTML 输出
【发布时间】:2013-05-06 15:50:56
【问题描述】:

我正在尝试在 aspx.cs 上构建 SPGridView

下面是代码

  StringBuilder sb = new StringBuilder();
        sb.AppendFormat("<SharePoint:SPGridView runat=\"server\" ID=\"spgridview\" AutoGenerateColumns=\"false\" AllowPaging=\"true\" AllowSorting=\"true\" Visible=\"true\">\n");
        sb.AppendFormat("<Columns>\n");
        sb.AppendFormat("<asp:TemplateField>\n");
        sb.AppendFormat("<ItemTemplate>\n");
        sb.AppendFormat("<asp:Label ID=\"lblNo\" runat=\"server\" Text=\"First\"/>\n");
        sb.AppendFormat("</ItemTemplate>\n");
        sb.AppendFormat("</asp:TemplateField>\n");
        sb.AppendFormat("<asp:TemplateField>\n");
        sb.AppendFormat("<ItemTemplate>\n");
        sb.AppendFormat("<asp:Label ID=\"lblName\" runat=\"server\" Text=\"Janaki\"/>\n");
        sb.AppendFormat("</ItemTemplate>\n");
        sb.AppendFormat("</asp:TemplateField>\n");
        sb.AppendFormat("</Columns>\n");
        sb.AppendFormat("</SharePoint:SPGridView>\n");

我试过Response.Write(sb.ToString());,页面上什么都没有。我怎样才能得到这个工作。也许我错过了什么……请告诉我。

【问题讨论】:

  • 你希望它执行服务器端代码吗?

标签: asp.net html sharepoint sharepoint-2010


【解决方案1】:

您不能以这种方式动态呈现控件;这不受支持,并将呈现为纯 HTML。您必须在页面上静态定义它们,或者通过将它们添加到控件集合或父控件来加载它们。

【讨论】:

    【解决方案2】:

    字符串生成器中的所有内容都是服务器端控件。这意味着,如果您在呈现页面时尝试将其写出,则最好的情况是什么也得不到,最坏的情况是会出错,因为浏览器不知道 .NET 控件是什么。

    如果你想从后面的代码中添加控件,你需要使用Page.Form.Controls.Add() 或类似的东西来做。

    根据您的代码,您似乎可以在 aspx 页面中包含字符串生成器的内容,并根据您的需要将 Visible 设置为 falsetrue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 2018-04-02
      • 1970-01-01
      相关资源
      最近更新 更多