将数据从一个子布局发送到 sitecore 中的另一个子布局

2024-01-25

我很难在 Sitecore 7 中构建过滤系统。

我有 2 个子布局,位于页面的同一级别。

子布局 A 是一个侧边栏,其中包含复选框列表,并具有一个用所选值填充列表的事件。 子布局 B 显示一组项目。

我想做的是将填充的列表从子布局 A 发送到子布局 B,以便根据用户选择的内容过滤项目列表。 我能够通过会话传递数据来做到这一点,但这不是处理该数据的最佳方式。

我尝试为子布局 A 定义一个属性并加载列表,但我无法从子布局 B 获取子布局 A 的确切实例,以便读取填充的属性。 另外,尝试 Page.FindControl("IdOfSomeElementFromSublayoutA") 在子布局 B 中始终返回 null。即使我已将 Page 转换为包含两个子布局的 .aspx 页面。

我正在使用 Sitecore 7 更新 2。

非常感谢您抽出时间。


做到这一点的最佳方法是使用Sitecore.Events.Event班级。您的侧边栏子布局将在按钮的单击事件处理程序中使用类似以下内容的事件来引发事件:

Sitecore.Events.Event.RaiseEvent("YourEventName", new YourEventArgsClass { Property = "SomeValue" });

那么在另一个子布局中,您需要进行以下设置才能处理该事件:

public partial class YourOtherSublayout : System.Web.UI.UserControl
{
    private System.EventHandler eventHandlerRef;

    protected void Page_Load(object sender, EventArgs e)
    {
        eventHandlerRef = EventHandlerMethod;
        Sitecore.Events.Event.Subscribe("YourEventName", eventHandlerRef);
    }

    protected void Page_Unload(object sender, EventArgs e)
    {
        if (eventHandlerRef != null)
        {
            Sitecore.Events.Event.Unsubscribe("YourEventName", eventHandlerRef);
        }
    }

    private void EventHandlerMethod(object sender, EventArgs e)
    {
        if (e != null)
        {
            //do stuff here
        }
    }
}

注意:保留 Page_Unload 代码非常重要,否则您将看到 EventHandler 方法被多次调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据从一个子布局发送到 sitecore 中的另一个子布局 的相关文章

  • EventHandler 应该始终用于事件吗?

    我一直在愉快地使用自定义委托类型和通用编写事件Action委托类型 没有真正考虑我在做什么 我有一些很好的扩展助手Action and EventHandler这使我倾向于使用那些预定义的委托类型而不是我自己的委托类型 但除此之外 除了惯例
  • 如何调整 Windows 窗体以适应任何屏幕分辨率?

    我知道这是重复的问题 但我检查了所有其他相关问题 他们的答案没有帮助 结果仍然与屏幕截图 2 中所示相同 我是 C Windows 窗体新手 如截图1所示 我有Form1有一些控件 每组控件都放在一个面板中 我在 PC1 中设计了应用程序
  • 使用 ELMAH 记录 WCF 服务的异常

    我们正在使用优秀的ELMAH http code google com p elmah处理 ASP NET 3 5 Web 应用程序中未处理的异常 这对于除使用 REST 功能使用的 WCF 服务之外的所有站点都非常有效 当操作方法中发生应
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • 直接将 .aspx 转换为 .pdf [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 虚拟并行端口模拟器

    在我的计算机网络课程中 我们应该通过使用本机寄存器 例如使用 outportb 等命令 来学习并行端口编程 我没有并行端口 因为我住在 2011 年 但想练习这些程序 我使用 dosbox 安装了旧的 Turboc 3 IDE 有没有一个程
  • 关闭整数的最右边设置位

    我只需要关闭最右边的设置位即可 我的方法是找到最右边位的位置 然后离开该位 我编写这段代码是为了这样做 int POS int n int p 0 while n if n 2 0 p else break n n 2 return p i
  • 检测 TextBox 中的 Tab 键按下

    I am trying to detect the Tab key press in a TextBox I know that the Tab key does not trigger the KeyDown KeyUp or the K
  • 编写具有多种类型的泛型扩展方法时的类型推断问题

    我正在为 IEnumerable 编写一个通用扩展方法 用于将对象列表映射到另一个映射对象列表 这就是我希望该方法的工作方式 IList
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 如何在 ASP.NET MVC 中使用 Html.Action() 将参数传递给 Action?

    我一直在使用Html Action ActionName ControllerName 跨控制器调用子操作 而无需在 Views Shared 中拥有视图 这对于显示会话或 cookie 信息等内容非常有效 我不只是访问 cookie 而是
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • 选择 asp.net CheckBoxList 中的所有项目

    ASP NET 和 C 我想要一个带有 全选 项目的复选框列表 当这个特定项目是 已选择 所有其他都将被选择 也 当选择被删除时 这个项目 也将来自所有人 其他物品 选中 取消选中 任何其他项目只会有一个 对特定项目的影响 无论选择状态如何
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 如何测试某些代码在 C++ 中无法编译? [复制]

    这个问题在这里已经有答案了 可能的重复 单元测试编译时错误 https stackoverflow com questions 605915 unit test compile time error 我想知道是否可以编写一种单元测试来验证给
  • 将日期时间显示为 MM/dd/yyyy HH:mm 格式 C#

    在数据库中 日期时间以 MM dd yyyy HH mm ss 格式存储 但是 我想以 MM dd yyyy HH mm 格式显示日期时间 我通过使用 String Format 进行了尝试 txtCampaignStartDate Tex
  • 与 Entity Framework Core 2.0 的一对零关系

    我正在使用 C 和 NET Framework 4 7 将 Entity Framework 6 1 3 Code First 库迁移到 Entity Framework Core 我一直在用 Google 搜索 Entity Framew
  • 当 Verb="runas" 时设置 ProcessStartInfo.EnvironmentVariables

    我正在开发一个 C 应用程序 我需要创建变量并将其传递给新进程 我正在使用ProcessStartInfo EnvironmentVariables 新进程必须提升运行 因此我使用 Verb runas var startInfo new
  • 对多个对象使用事件处理程序

    我有 20 件物品List
  • Unity,c++ 本机插件字节数组不匹配

    在我的 C 本机插件中 我有一个调用 vector

随机推荐

  • Titanium Desktop 中的 SVG?

    我正在运行 Titanium Desktop 1 1 0 SDK 并且只有我的 SVG 文本元素可以正确呈现 SVG 方法 例如 getBBox 会给出错误消息 该应用程序在 Titanium 环境之外运行良好 即 Chrome Firef
  • 支持可选参数和.Net 4.0的C#模拟框架

    是否存在完全支持 Net 4 0 和 C 的 C 模拟框架 具体来说 我正在寻找它支持可选参数 我能够通过编写一个扩展方法来让 Moq 来处理这个问题 该方法接受方法名称以及参数名称和值的字典 did想要指定 并且扩展方法为您未指定的所有参
  • Docker Compose + Rails:迁移的最佳实践?

    我刚刚关注了这篇文章在 Docker 中运行 Rails 开发环境 https blog codeship com running rails development environment docker 好文章 效果很好 设置完所有内容后
  • 离子启动给出错误:生成的命令有错误:npminstall

    我正在尝试使用 ionic 和 cordova 创建一个移动应用程序 但是当我启动命令时 ionic start appname blank 下载后 npm 给我 Error with start undefined Error Initi
  • ActionBarSherlock 4.2 是否支持 SearchView 的搜索建议?

    一个月前 我将 ActionBarSherlock 4 2 添加到我的项目中 除了我的搜索建议之外 一切都正常工作了SearchView 我创建搜索建议的方式是使用Android文档中的方法 http developer android c
  • Windows Phone 7.1“发送到”功能?

    我被要求用 C 为 Windows Phone 7 1 编写一个原型应用程序 该应用程序可以通过 Android 的 共享 功能等功能获取数据 然后处理这些数据 例如 用户打开邮件应用程序并查看 PDF 附件 对于此附件 他按下应用程序的
  • 出现错误:部署到 heroku 时必须至少安装一个 postgresql-client-

    sdilshod sdilshod Lenovo B590 webapp saturn heroku run rake db migrate Running rake db migrate attached to terminal up r
  • mpi4py 中的共享内存

    I use a MPI mpi4py 脚本 在单个节点上 适用于非常大的对象 为了让所有进程都能访问该对象 我通过comm bcast 这会将对象复制到所有进程并消耗大量内存 尤其是在复制过程中 因此 我想分享一些像指针这样的东西 而不是对
  • 迭代 hastable 键的枚举会引发 NoSuchElementException 错误

    我正在尝试使用枚举来迭代哈希表中的键列表 但是我在列表中的最后一个键处不断收到 NoSuchElementException Hashtable
  • ListBox 中的 DataTextField 是 2 个字段的组合

    我有一个包含用户的列表框 数据源是 User 类型的通用列表 包含 id firstname lastname 现在我想使用 id 作为数据值 通过 dataValueField 并且我想要 LastName Firstname 作为 Da
  • 为什么在图像和 CSS 文件之后查询字符串?

    我在各个网站上看到过一个查询字符串 后面跟着一个图像和 CSS 文件的数字 当我查看源代码 通过 Chrome Developer 时 缓存的 css 文件和图像的名称中没有查询字符串中的数字 我还在网站上看到 当我刷新页面时 查询字符串中
  • 从可迭代的乘积中创建 Pandas MultiIndex?

    当我有两个或多个可迭代对象时 我有一个实用程序函数用于创建 Pandas MultiIndex 并且我想要为这些可迭代对象中的值的每个唯一配对提供一个索引键 看起来像这样 import pandas as pd import itertoo
  • 在javascript中将字符串数组转换为名称/值对象

    我目前正在处理一个向客户端返回字符串数组的 Web 服务 从这里我想获取这个字符串数组并将其转换为一个对象 该对象为每个字符串提供一个名称 以便稍后引用它 所以从这个开始 var result test hello goodbye 我想以此
  • .Net Windows 应用程序 WebBrowser / Google 地图 API v3

    我正在开发一个应用程序 用户可以在其中输入所需的地址 然后按按钮 该地址可以在WebBrowser net windows 应用程序中的控制 我知道你可以运行 javascriptWebBrowser通过使用WebBrowser1 Docu
  • 获取git命令列表

    我想为每个 git 命令创建一个别名 由于它们有很多 我想将它们放在一个列表中 然后在我的循环中循环 bashrc 有什么办法可以将它们写入 shell 脚本中吗 你可以试试这个 git help a 或者 您的 git 命令列在
  • Spring AOP Aspect 无法使用 Mockito 工作

    我有一个 Aspect它编织了我所有控制器操作方法的执行 当我运行系统时它工作得很好 但在单元测试中却不行 我按以下方式使用 Mockito 和 junit RunWith SpringJUnit4ClassRunner class Con
  • asp.net mvc url 路由

    如何映射诸如domain com 用户名之类的内容 问题是我认为 MVC 路由会寻找控制器来确定它应该如何处理映射请求 我对 ASP NET MVC 还很陌生 然而 根据迄今为止的教程 路由机制似乎相当僵化 它实际上非常灵活 我想如果您有更
  • 在 Typescript 中选择材质 UI

    我使用 Material UI select 创建了一个下拉菜单 它说 搜索依据 当我们点击它时 它会给我们一个列表 当我选择其中一个选项时 我想存储该选项并将 搜索依据 更改为所选选项 export default function Us
  • 销毁免费墙实例

    我正在使用jquery Freewall 插件 http vnjs net www project freewall 我想知道如何销毁它的一个实例 我写了一个小例子供大家理解 var startFreewall function funct
  • 将数据从一个子布局发送到 sitecore 中的另一个子布局

    我很难在 Sitecore 7 中构建过滤系统 我有 2 个子布局 位于页面的同一级别 子布局 A 是一个侧边栏 其中包含复选框列表 并具有一个用所选值填充列表的事件 子布局 B 显示一组项目 我想做的是将填充的列表从子布局 A 发送到子布