问题标签 [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.
c# - Umbraco 7 局部视图宏渲染
在 Umbraco 7.0.3 中我:
- 使用宏容器的属性编辑器创建了一个名为宏容器的数据类型
- 创建的文档类型称为联系表单,属性称为正文,类型为宏容器
- 创建名为 _contactForm.cshtml 的局部视图(在 Views\MacroPartials 中)
- 使用 MVC 部分视图 _contactFrom.cshtml 创建了名为 Contact Form 的宏
- 添加了名为“联系我们”的联系表格类型的内容
- 在我的联系我们页面中将联系表单宏添加到名为 Body 的宏容器属性中
然后我有一个Surface Controller
调用AJAX
来显示页面(更具体地说是页面的 Body 属性):
这个设置几乎可以工作,但问题是返回的不是呈现的表单,而是:
所以现在我需要渲染这个宏\表单\部分视图......我认为我可能需要在控制器中完成它,但如果我可以在另一边(通过 Javascript)完成它,那也可以。我可以在控制器中调用 Umbraco 函数来根据页面 ID 和宏别名呈现宏吗?
asp.net-mvc - Umbraco:在 HTML 元标题中使用部分视图中的数据
我有一个表面控制器,它调用外部 api 来获取给定城市和州的商店列表。问题是我需要使用从该调用中返回的一些数据
它存在于我的主模板的头部。据我所知,没有办法将数据从局部视图传递到主模板。我难住了。
我尝试使用 ViewBag,但它在我的部分视图设置值之前呈现头部并且它只是出现空值。
模板:
局部视图:
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
命名空间中,但没有运气(而且似乎没有必要)。
我在这里想念什么?
c# - 从 Umbraco v4 升级到 v7 SurfaceController 路由表中没有路由与提供的值匹配
我最近将我们的 Intranet Umbraco 站点从 v4 转换为 v7.2,并将所有 webform 母版页转换为 mvc。我正在尝试将应该是子操作的用户控件转换为 SurfaceController,但是在尝试调用操作时出现可怕的“路由表中的路由与提供的值不匹配”错误:
这只是一个不需要视图或模型的获取操作。它只是调用服务器上的操作,然后服务器更新服务器上的文件,然后由一些 javascript 读取。我做了很多搜索,我使用 Umbraco 7 创建了一个示例解决方案,并创建了一个控制器文件夹,然后创建了一个“MySurfaceController”,我能够从示例解决方案的母版页调用操作,没有问题,但在最近转换项目似乎发生了一些奇怪的路由问题。我比较了当前项目和示例项目的 web.config,它们几乎具有相同的条目(我想也许我错过了一些东西)。看来我转换后的项目无法识别路由。任何帮助将不胜感激。
这是 SurfaceController
我也尝试过使用“PluginController”选项,即使这不是具有“area”属性但同样问题的插件。
也许有一种我不知道的解决方法?
umbraco - 如何将 ViewData 和 ViewBag 与 Umbraco 表面控制器一起使用
我刚刚花了 2 个小时试图弄清楚为什么当我将字符串放入 Surface 控制器内的 View.Bag/ViewData 时,当我尝试将字符串取回视图时,我得到空值。
最后,我通过将字符串放入会话变量 insted 解决了这个问题。
想知道为什么它不起作用,以及如何解决它。
提前致谢。
asp.net-mvc - Umbraco 异步 SurfaceController
我正在开发一个使用 Umbraco 7.4.3 的项目(ASP.NET MVC 5)。我正在尝试与 oauth2 一起实现谷歌分析 api。我使用了 google 文档平台上提供的示例代码。使用我的谷歌帐户授权后,我得到了正确的刷新令牌。但问题是这个刷新令牌是在 URL 中返回的,并且没有被我的控制器传递给我的视图,该视图仍然是空的。我有一种感觉,在用户授权他或她的谷歌帐户后,我的控制器不会等待执行它的代码,因此控制器不会为 await 运算符而烦恼。
PS:我已经在没有安装 Umbraco 的 ASP.NET MVC 5 项目中尝试了这个示例代码,它运行良好。
有谁能把我推向正确的方向?
ajax - Umbraco BlogComment 创建 Ajax
您好,我正在尝试发布我的博客评论,该功能有效。但是整个站点在 div 内刷新,我尝试在控制器中使用部分视图,但我不确定该怎么做,这里的任何人都可以指出正确的方向,我希望 div 用 ajax 请求刷新,而不是整个站点介绍分区。
表面控制器:
局部视图:
c# - Ajax.BeginForm 发布到表面控制器并使用整页而不是部分视图更新目标 ID
由于页面的每个部分都隐藏在 show hide div 中,因此一直试图让成员配置文件管理区域与 ajax 一起使用。
我以前在 MVC 应用程序中使用过 ajax,但之前从未将它与 umbraco 表面控制器一起使用过。我不确定为什么在控制器中返回部分视图会输出整个页面,而不仅仅是我给它的部分视图。
控制器:
看法:
在表单之前,我拥有需要包含的所有内容(据我所知),并且没有控制台错误。
我还确保在 web.config 中将 UnobtrusiveJavaScriptEnabled 设置为 true,但是当我发布表单时,我仍然会得到一个完整的页面。
最初: 当页面加载并显示表单时
尽管它显然以某种方式工作,但我已经花了几个小时来研究这个,我感到非常傻眼。
这有可能/已知的事情发生吗?我四处搜索,但找不到任何具有类似问题的主题,除非我只是措辞错误。
如果有人有任何想法,只是在寻找正确方向的推动力?
asp.net-mvc - Umbraco 没有为此对象定义无参数构造函数
我正在尝试在 Umbraco 中渲染局部视图。我有一个BaseLayout.cshtml
, Homepage.cshtml
, BaseLayoutViewModel
,HomepageViewModel
这是我的 BaseLayout 视图
这是我的 BaseLayout 模型。主页模型继承自基本布局。
我的 PrimaryNavbar 部分视图是:
PrimaryNavbar 的控制器是:
编辑:添加完整错误
我不明白为什么我得到“没有为此对象定义的无参数构造函数”。有人可以帮我吗?
谢谢