问题标签 [sitecore-mvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3455 浏览

asp.net-mvc - Sitecore MVC 渲染类型说明

有人可以帮我澄清何时使用以下内容(它们看起来都与我相似且令人困惑):

  1. 项目渲染
  2. 查看渲染
  3. 控制器渲染
  4. 方法渲染
  5. XSLT 渲染
  6. 渲染参数
  7. 任何其他
0 投票
2 回答
15368 浏览

asp.net - 使用 MVC 的 Sitecore“动态占位符”

我正在 MVC 中寻找一个有效的动态占位符解决方案。对于与 WebForms 一起使用的这种“模式”,至少有两个很好的描述:

而且我还发现这个博客解释了如何使用 MVC 做到这一点:

首先,我尝试使用 MVC 博客文章(SitecoreHelper 的扩展)中的技术来实现 Techphoria 的方法(使用 GUID),并且我还尝试实现最后描述的方法(使用递增 Column_1、Column_2 等的数字后缀)。

通过我尝试的所有变体,我没有成功创建一个有效的解决方案。我的占位符没有正确命名(我最终得到了奇怪的占位符结构,或者占位符重复自己)。

在不详细说明我的尝试的情况下,我想知道是否有其他人准备好我可以使用的可行解决方案。

如果我找不到一个已经可行的解决方案,我会更详细地描述我的问题,看看我是否可以让它发挥作用。

0 投票
2 回答
6568 浏览

sitecore - 如何在 Sitecore MVC 中呈现字段 - 部分视图

如何在部分视图中从模板渲染字段或图像。我需要通过页面编辑器编辑内容。

0 投票
1 回答
943 浏览

sitecore - Sitecore 按 __Created 字段对子项进行排序

我有一个运行 MVC 和 Razor 的 Sitecore 6.6 解决方案。我有以下行;

以上工作正常,除了它排序的顺序。我需要根据 __Created 字段获取最新项目。LastOrDefault 似乎采用了树中的最后一项,这并不总是对应于实际最新创建的项。

可以像上面那样在一行中完成吗?

0 投票
1 回答
1002 浏览

asp.net-mvc - sitecore mvc ControllerRenderer 和上下文项布局

只是在玩 Sitecore 7 和 MVC,我尝试让渲染基础工作正常。

到目前为止,我已经能够在渲染部分中创建视图渲染(并映射到相关的 .cshtml 文件),并将这些应用于项目的演示详细信息(与使用 ASPX 布局/ASCX 的方式大致相同)子布局)。

我还能够将 Item 映射到控制器(使用项目上的 Controller 和 Action 字段),让Index控制器上的操作(继承自SitecoreController)返回 view ~/Views/Home/Index

我似乎无法理解的问题是合并两种渲染方法。我希望能够创建映射到 的控制器Item,但使用ViewRenderer而不是使用默认的 MVC 约定来呈现项目return View(),以便我可以:

  1. 通过设置渲染的路径参数来指定视图文件在多站点环境中的位置;和
  2. 让内容作者/经理像布局/子布局对占位符一样管理渲染。

有谁知道可以实现这一目标的方法?

0 投票
1 回答
1872 浏览

asp.net-mvc - Sitecore MVC 表单回发不返回完整布局

我正在使用启用了 MVC 的 Sitecore 7。我有一个 cshtml 布局,其中包含页眉、菜单、页脚和占位符。

当我使用 POST 方法在页面中提交表单时,它会到达控制器并且控制器出于某种原因返回视图结果,只有来自视图结果的特定 html 才会呈现到页面。这意味着在进行回发后,页眉、菜单、页脚都消失了,只有结果中的 html 才会呈现在页面上。

这种行为是预期的还是我做错了什么?我希望当我进行回发时,它也会返回带有渲染布局的视图结果

0 投票
1 回答
2447 浏览

asp.net-mvc - Sitecore mvc 在同一页面中处理多个表单

我正在使用 Sitecore 7,在我当前遇到问题的页面中,我有一个带有两个控制器渲染的布局 (cshtml)。

两个控制器渲染映射到不同的控制器动作但使用相同的控制器。因此,控制器渲染 A 映射到控制器“搜索”、操作“ProductSearch”,控制器渲染 B 映射到控制器“搜索”、操作“客户搜索”

“搜索”控制器中有 4 个方法。

  1. 返回查看结果的“ProductSearch”
  2. 设置了处理表单提交的 HttpPost 属性的“ProductSearch”
  3. 正在返回查看结果的“CustomerSearch”
  4. 设置了处理表单提交的 HttpPost 属性的“CustomerSearch”

这就是表格的写法

当我提交其中一个表单时,我注意到两个控制器操作都已执行,这不是我所期望的。

如果我然后将控制器呈现表单处理程序之一更改为

然后只调用一个控制器操作,但页面仅呈现该控制器操作的视图结果

有什么我想念的吗?

0 投票
1 回答
4558 浏览

asp.net-mvc - Sitecore 6.6 中的静态视图渲染

我想知道是否有任何方法可以像使用以下 Web 表单代码调用子布局一样静态调用视图渲染:

我试过这样做:

但是我不能强输入视图渲染,除非我还在 sitecore 中创建渲染项并在 sitecore 中创建模型项,因为我会收到错误。我想知道是否有一种类似的简单方式可以与 MVC 一起用于静态键入内部渲染器。

0 投票
1 回答
1518 浏览

sitecore - 通过 MVC 渲染的 URL 改变缓存?

在 Sitecore 7 中,我的大部分查询字符串都变成了自定义路由。例如:

结果,我发现自己需要通过 URL 而不是查询字符串来改变我的渲染的 HTML 缓存。Sitecore 是否为 MVC 渲染提供了一种通过 URL 改变缓存的便捷方式?

更新

我发现所有 MVC 渲染都通过mvc.renderRendering管道,其中它们的缓存键是在以下类中生成的:

Sitecore.Mvc.Pipelines.Response.RenderRendering.GenerateCacheKey

通过覆盖GenerateKey(Rendering rendering, RenderRenderingArgs args)这个类的方法,我可以成功地使用site.Request.FilePath. 我现在面临的问题是如何从渲染本身中提取此缓存设置?我想我需要在渲染上创建一个新的“VaryByUrl”缓存选项,但我不太确定。

更新 2

我能够使用以下代码从渲染定义项中读取自定义字段。它有效,但它只查看定义项(不是演示详细信息中呈现的实际实例)

0 投票
1 回答
710 浏览

asp.net-mvc - Sitecore MVC - 动态视图位置

我有一个需要“主题”功能的网站。所以,我在“主题”文件夹中创建了一堆视图。例如:

我还创建ContentMenu查看渲染并将Path字段分别设置为/Themes/Theme 1/Views/Content.cshtml/Themes/Theme 1/Views/Menu.cshtml

我需要的是在sitecore管道中的某处用“主题2”替换“主题1”,这样我就可以全局设置主题并动态加载与该主题对应的视图(而不是创建多个“菜单”和“内容”查看效果图)。

有没有办法做到这一点?