我是 Sitecore 的新手,并被要求用一些新功能扩展公司现有的网站。
我一直在互联网上阅读很多内容并查看现在的网站。但是我似乎找不到在服务器端添加逻辑的位置。类似于您在 POST 发生时对 PHP 代码所做的事情。
我需要这个有多种原因:生成 pdf、发送电子邮件、从 Excel 表中提取数据......
仅供参考:我们使用的是 Sitecore 版本 6.x
感谢您的时间!
非常广泛的问题,所以答案将非常广泛。
基本上,您要么使用 Page_Load 方法(并检查 IsPostBack),要么调用您自己的 on 方法,该方法在生命周期的“结束”时运行(简化)。
但这是基本的 Asp.Net 东西,并不是 Sitecore 特定的东西。Sitecore 唯一需要注意的是布局/子布局等是否被缓存,因为这是输出缓存,回发只会返回与以前相同的 html。
如果我要执行从当前页面生成 af pdf 之类的操作,我会使用 GET 并仅链接到同一页面,但查询字符串中的某些内容会命中另一个设备,从而执行 PDF 渲染。例如。/news/2012/news1.aspx?pdf=1
浏览器在返回按钮和使用 POST 更改数据方面更好地处理 GET(请参阅http://www.w3.org/2001/tag/doc/whenToUseGet-20040321#checklist)
但正如我所说,我听起来更像是你需要研究的是标准的 Asp.Net
我希望这有帮助。
在寻求扩展我以前从未见过的 Sitecore 构建时,我通常会遵循的基本流程如下:
从这里,您可以做一些事情。您可以选择编辑现有控件之一,也可以添加自己的控件。如果您正在编辑现有的,您将需要查看子布局/渲染并找出其在您的解决方案中的路径,并在 .NET 解决方案中修改匹配的 ASCX。如果您已经创建了自己的子布局,则需要确保在 Sitecore 数据库中定义了一个子布局以匹配您的代码,然后将该子布局添加到页面的控件列表中。