如何在 WebPart 中模仿 Response.Write("string")

Posted

技术标签:

【中文标题】如何在 WebPart 中模仿 Response.Write("string")【英文标题】:How to mimic Response.Write("string") in the WebPart 【发布时间】: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() 【参考方案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()

这对我来说很有效

【讨论】:

以上是关于如何在 WebPart 中模仿 Response.Write("string")的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个 spfx 解决方案中创建两个 webpart?

如何确保找到我的 WebPart 并将其注册为安全的?

如何在 Webpart 的 s-s-rS 报告中打开 URL 到新窗口

如何部署 SharePoint WebPart?

如何将 WebPart 添加到 SharePoint 网站中的所有页面?

如何在 Sharepoint Wiki 页面上添加 WebPart?