【问题标题】:How to mimic Response.Write("string") in the WebPart如何在 WebPart 中模仿 Response.Write("string")
【发布时间】:2011-07-05 10:17:58
【问题描述】:

我需要创建一个简单的 Sharepoint 2007 WebPart,它输出一些字符串作为 HTML 呈现的一部分。我希望这与 Response.Write(..) 在 WebForms 页面中所做的一样。为了做到这一点,我没有看到任何我可以安全挂钩的东西。有可能吗?

编辑:进一步查看 WebPart 我发现:

   protected override void Render(HtmlTextWriter writer)
    {
        writer.Write();
        base.Render(writer);
    }

应该够好吗?

【问题讨论】:

  • 根据this post 最好覆盖RenderWebPart 而不是Render 本身。
  • @SOException - 我只有 RenderControl 和 Render 用于覆盖。我在 3.5.. 这是为什么呢?
  • Page.Response.Write()

标签: c# sharepoint-2007 webforms web-parts webpage


【解决方案1】:

首先,确保您使用的是 ASP.NET WebPart 对象,而不是 SharePoint WebPart 对象。其次,重写 CreateChildControls 方法并使用 LiteralControl 类来输出您的字符串。

http://msdn.microsoft.com/en-us/library/system.web.ui.literalcontrol.aspx

如果您可以在 CreateChildControls 中完成任务,您真的不应该使用渲染方法。当您可以证明使用它们的合理性时,您希望使用 RenderContents。

【讨论】:

    【解决方案2】:

    我会在 CreateChildControls 中创建一个 ASP Label 控件并将输出写入那里(通常我会这样做)。

    【讨论】:

      【解决方案3】:

      使用 Jquery。 JQuery 还具有 SPServices 插件,它也允许更轻松地写入和检索数据。

      【讨论】:

        【解决方案4】:

        为了创建一个简单的 SharePoint 2010 和 2013 WebPart,输出一些字符串作为 HTML 渲染的一部分,今天我使用:

        Page.Response.Write()

        这对我来说很有效

        【讨论】:

          猜你喜欢
          • 2012-06-17
          • 1970-01-01
          • 2011-01-10
          • 2015-08-12
          • 2014-04-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多