问题标签 [surface-controller]

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 投票
3 回答
8732 浏览

c# - Umbraco 7 局部视图宏渲染

在 Umbraco 7.0.3 中我:

  1. 使用宏容器的属性编辑器创建了一个名为宏容器的数据类型
  2. 创建的文档类型称为联系表单,属性称为正文,类型为宏容器
  3. 创建名为 _contactForm.cshtml 的局部视图(在 Views\MacroPartials 中)
  4. 使用 MVC 部分视图 _contactFrom.cshtml 创建了名为 Contact Form 的宏
  5. 添加了名为“联系我们”的联系表格类型的内容
  6. 在我的联系我们页面中将联系表单宏添加到名为 Body 的宏容器属性中

然后我有一个Surface Controller调用AJAX来显示页面(更具体地说是页面的 Body 属性):

这个设置几乎可以工作,但问题是返回的不是呈现的表单,而是:

所以现在我需要渲染这个宏\表单\部分视图......我认为我可能需要在控制器中完成它,但如果我可以在另一边(通过 Javascript)完成它,那也可以。我可以在控制器中调用 Umbraco 函数来根据页面 ID 和宏别名呈现宏吗?

0 投票
1 回答
977 浏览

asp.net-mvc - Umbraco:在 HTML 元标题中使用部分视图中的数据

我有一个表面控制器,它调用外部 api 来获取给定城市和州的商店列表。问题是我需要使用从该调用中返回的一些数据

它存在于我的主模板的头部。据我所知,没有办法将数据从局部视图传递到主模板。我难住了。

我尝试使用 ViewBag,但它在我的部分视图设置值之前呈现头部并且它只是出现空值。

模板:

局部视图:

0 投票
2 回答
1317 浏览

hyperlink - 在 Umbraco 中创建到 SurfaceController 的链接

由于我是 Umbraco 的新手,我还不太了解它似乎具有的路由机制。

我有一个myProject.Controllers.CompanySurfaceController带有getCompanyList()getCompany(int companyId)功能的自定义表面控制器。

<a>基本思想是从数据库中获取公司列表,使用经典链接呈现部分视图,getCompany(..)然后从数据库中检索/显示该公司。

一切正常,除了一件事:我无法掌握如何创建<a>到控制器子动作的链接!在发布和使用 Html.Action 时,我在部分视图中包含子操作没有问题。

我已经尝试过@Html.ActionLink和其他助手,但最接近的是 的链接/umbraco/Surface/CompanySurface/Company,它当然不起作用,并且不包含 id 参数(例如Company/3)。

我还尝试将控制器放在umbraco/Surface命名空间中,但没有运气(而且似乎没有必要)。

我在这里想念什么?

0 投票
1 回答
1156 浏览

c# - 从 Umbraco v4 升级到 v7 SurfaceController 路由表中没有路由与提供的值匹配

我最近将我们的 Intranet Umbraco 站点从 v4 转换为 v7.2,并将所有 webform 母版页转换为 mvc。我正在尝试将应该是子操作的用户控件转换为 SurfaceController,但是在尝试调用操作时出现可怕的“路由表中的路由与提供的值不匹配”错误:

这只是一个不需要视图或模型的获取操作。它只是调用服务器上的操作,然后服务器更新服务器上的文件,然后由一些 javascript 读取。我做了很多搜索,我使用 Umbraco 7 创建了一个示例解决方案,并创建了一个控制器文件夹,然后创建了一个“MySurfaceController”,我能够从示例解决方案的母版页调用操作,没有问题,但在最近转换项目似乎发生了一些奇怪的路由问题。我比较了当前项目和示例项目的 web.config,它们几乎具有相同的条目(我想也许我错过了一些东西)。看来我转换后的项目无法识别路由。任何帮助将不胜感激。

这是 SurfaceController

我也尝试过使用“PluginController”选项,即使这不是具有“area”属性但同样问题的插件。

也许有一种我不知道的解决方法?

0 投票
2 回答
3585 浏览

umbraco - 如何将 ViewData 和 ViewBag 与 Umbraco 表面控制器一起使用

我刚刚花了 2 个小时试图弄清楚为什么当我将字符串放入 Surface 控制器内的 View.Bag/ViewData 时,当我尝试将字符串取回视图时,我得到空值。

最后,我通过将字符串放入会话变量 insted 解决了这个问题。

想知道为什么它不起作用,以及如何解决它。

提前致谢。

0 投票
1 回答
391 浏览

c# - 从 MVC 中的下拉列表中获取值

提交时,联系表单会向 web.config 文件中的指定电子邮件地址发送一封电子邮件。然而,目前它正在发布“选定服务”的 ID - 我如何获得价值呈现而不是 ID?在附加 . 看看我可以使用什么,我找不到价值。

这些值已经在 Umbraco 中使用自定义数据类型定义。

这是表面控制器;

编辑:

@co0ke 当我这样做时,我得到了这个;

在此处输入图像描述

还是我应该尝试传入“1435”?

0 投票
1 回答
549 浏览

asp.net-mvc - Umbraco 异步 SurfaceController

我正在开发一个使用 Umbraco 7.4.3 的项目(ASP.NET MVC 5)。我正在尝试与 oauth2 一起实现谷歌分析 api。我使用了 google 文档平台上提供的示例代码。使用我的谷歌帐户授权后,我得到了正确的刷新令牌。但问题是这个刷新令牌是在 URL 中返回的,并且没有被我的控制器传递给我的视图,该视图仍然是空的。我有一种感觉,在用户授权他或她的谷歌帐户后,我的控制器不会等待执行它的代码,因此控制器不会为 await 运算符而烦恼。

链接到示例代码

PS:我已经在没有安装 Umbraco 的 ASP.NET MVC 5 项目中尝试了这个示例代码,它运行良好。

有谁能把我推向正确的方向?

0 投票
1 回答
153 浏览

ajax - Umbraco BlogComment 创建 Ajax

您好,我正在尝试发布我的博客评论,该功能有效。但是整个站点在 div 内刷新,我尝试在控制器中使用部分视图,但我不确定该怎么做,这里的任何人都可以指出正确的方向,我希望 div 用 ajax 请求刷新,而不是整个站点介绍分区。

表面控制器:

局部视图:

0 投票
1 回答
934 浏览

c# - Ajax.BeginForm 发布到表面控制器并使用整页而不是部分视图更新目标 ID

由于页面的每个部分都隐藏在 show hide div 中,因此一直试图让成员配置文件管理区域与 ajax 一起使用。

我以前在 MVC 应用程序中使用过 ajax,但之前从未将它与 umbraco 表面控制器一起使用过。我不确定为什么在控制器中返回部分视图会输出整个页面,而不仅仅是我给它的部分视图。

控制器:

看法:

在表单之前,我拥有需要包含的所有内容(据我所知),并且没有控制台错误。

我还确保在 web.config 中将 UnobtrusiveJavaScriptEnabled 设置为 true,但是当我发布表单时,我仍然会得到一个完整的页面。

最初: 当页面加载并显示表单时

之后: 提交表单并返回正确的局部视图但在整个视图中时

尽管它显然以某种方式工作,但我已经花了几个小时来研究这个,我感到非常傻眼。

这有可能/已知的事情发生吗?我四处搜索,但找不到任何具有类似问题的主题,除非我只是措辞错误。

如果有人有任何想法,只是在寻找正确方向的推动力?

0 投票
1 回答
1598 浏览

asp.net-mvc - Umbraco 没有为此对象定义无参数构造函数

我正在尝试在 Umbraco 中渲染局部视图。我有一个BaseLayout.cshtml, Homepage.cshtml, BaseLayoutViewModel,HomepageViewModel

这是我的 BaseLayout 视图

这是我的 BaseLayout 模型。主页模型继承自基本布局。

我的 PrimaryNavbar 部分视图是:

PrimaryNavbar 的控制器是:

编辑:添加完整错误

我不明白为什么我得到“没有为此对象定义的无参数构造函数”。有人可以帮我吗?

谢谢