如何在 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")的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Webpart 的 s-s-rS 报告中打开 URL 到新窗口