我在visual studio中设置了一个新的umbraco项目,任何预装的模板,当我试图添加新的母版页时我无法保存它,我可以在visual studio中编辑它但我不能保存umbraco后端的任何变化.任何消化来解决我的问题?
我试图投射一个匿名对象数组,其中每个对象看起来像这样:
new {type="internal",title="Linktitle",target="_blank",link="http://www.google.se"}
Run Code Online (Sandbox Code Playgroud)
我已经声明了一个类"链接",匿名对象应该被转换为它
class Link{
public string type {get;set;}
public string target {get;set;}
public string title {get;set;}
public string link {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试像这样投射物体
List<Link> links = Model.relatedLinks.Select(l => new Link{type=l.type,target=l.target,title=l.title,link=l.link}).ToList();
Run Code Online (Sandbox Code Playgroud)
然后我得到了错误
Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
Run Code Online (Sandbox Code Playgroud)
我找到了关于如何投射匿名对象的这个页面,但我也是这样做的.或者我错过了什么?
我正在尝试使用剃刀在umbraco中显示图像,但是如果我不上传图像然后显示空图像,有没有办法解决这个问题?我正在思考以下问题:
if (media.Id != 0)
{
<img src="@page.Media("img","umbracoFile")" alt="" />
}
Run Code Online (Sandbox Code Playgroud) 我想要的是Visual Studio 2012中用于Umbraco版本6.1.2(目前最新的稳定版本)的开发环境,MVC作为渲染引擎,因此我可以使用Razor并在Umbraco中集成MVC项目.
我还希望能够使用Team Foundation Sever来共享和存储代码.
问题在于:当我从Umbraco下载Umbraco文件或使用WebMatrix安装Umbraco站点时,我无法访问核心文件或在Visual Studio中正确调试我的安装.
所以我需要一种从Visual Studio构建和调试/运行Umbraco的方法.
我查看了很多帖子,文章等(也在StackOverflow上),但似乎都没有解决最新的Umbraco版本(大多数关于4.5.x),只有少数关于MVC.旧的引用,非现有的项目模板或VS旧版本的模板让我不得不深入挖掘.当我找到解决方案时,我想到了两件事: - 1我需要检查这个解决方案 - 2我应该向更广泛的受众分享这个解决方案然后它现在开始
这两个原因都是我在这里发布的原因(澄清问题)
我正在运行Umbraco,Umbraco中的Log文件夹变得庞大而且正在杀死我.
现在,我只是定期删除文件,但我真的想关闭日志记录.
但是,我无法弄清楚如何做到这一点.
谢谢
我需要将一个字符串数组从 ajax 发送到控制器,我需要返回一个要下载的文件。我已经看过了,到处都说同样的解决方案,但我不能让它工作。我已经在控制器上休息了,但从未进入。 控制器在不同的项目中。
SOLUTION
PROJECT 1
Controllers
ApiControllers
RenderMvcControllers
SurfaceControllers
ExportController
PROJECT 2
function GetData() {
var stringArray = new Array();
stringArray[0] = "item1";
stringArray[1] = "item2";
stringArray[2] = "item3";
var postData = { values: stringArray };
$.ajax({
type: "POST",
url: "/umbraco/Surface/Export/HandleDownloadFile",
data: postData,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert();
alert(data.Result);
},
error: function (data) {
alert("Error: " + data.responseText);
},
});
}
class ExportController : SurfaceController
{
[HttpPost]
public ActionResult HandleDownloadFile(string[] productList)
{
return …Run Code Online (Sandbox Code Playgroud) 我正在使用Umbraco 7.4.
我想枚举Media文件夹中的所有文件("Images\Splash").
对于自定义类,我从控制器传递UmbracoHelper实例的引用,并可以获取如下文件夹:
var folder = _umbraco.Media(333);
Run Code Online (Sandbox Code Playgroud)
333是我想要的Media文件夹的Id.
如何通过它的哈希或它的名称获取此文件夹?
我不想使用Id,因为在环境(开发,登台,制作)之间不能保证这一点.
我们正在尝试将 umbraco 7.2.8 站点升级到 umbraco 7.5.8。当我加载后台以获取升级向导时,我看到一个空白屏幕。当我检查元素,我看到:Uncaught SyntaxError: Unexpected token <。对错误的引用是:/umbraco/Application?umb__rnd=ffffffffb6d9a809。
有人在升级过程中看到过这个错误吗?
我正在 Umbraco 中使用 Archtype 构建图像滑块。
我开始使用 umbraco 7.5.9 和 Umbraco.MediaPicker 时,但同时我开始了一个使用 Umbraco.MediaPicker2 的最新版本 Umbraco (7.6.2) 的新项目
使用旧的 MediaPicker 渲染图像没有问题,但使用 MediaPicker2 似乎不可能。
这是我的设置。
<div class="fullWidthSlider">
@foreach (var image in @CurrentPage.SliderImages)
{
<div>Id: @image.GetValue("image")</div>@*Line added for debug*@
var media = @Umbraco.Media(image.GetValue("image"));
<img src="@media.Url" />
}
</div>
Run Code Online (Sandbox Code Playgroud)
这曾经适用于旧的媒体选择器,@image.GetValue 返回 int id。但是使用新的 MediaPicker2 它返回 Umbraco.Core.Udi[]
如果我使用下面的代码遍历 archtype 的属性,我会得到这个结果(见下面的代码)
@foreach (var fieldset in Model.Content.GetPropertyValue<ArchetypeModel>("sliderImages"))
{
foreach(var prop in fieldset.Properties){
<p>@prop.Alias - @prop.Value</p>
}
}
Run Code Online (Sandbox Code Playgroud)
href -
altText - alt 测试
图像 …
我刚刚将Application Insights安装到我的ASP.NET MVC应用程序中。它实际上是Umbraco网站,注册稍有不同,但结果应该相同。
安装该软件包时,它为我添加了一些代码,以全局注册一个名为“ AiHandleErrorAttribute”的新异常操作过滤器。
我正在使用事件处理程序以Umbraco方式注册它:
public class RegisterAIEventHandler : ApplicationEventHandler
{
protected override void ApplicationInitialized(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
base.ApplicationInitialized(umbracoApplication, applicationContext);
GlobalFilters.Filters.Add(new ErrorHandler.AiHandleErrorAttribute());
}
}
Run Code Online (Sandbox Code Playgroud)
这是动作过滤器代码:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class AiHandleErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
if (filterContext != null && filterContext.HttpContext != null && filterContext.Exception != null)
{
//If customError is Off, then AI HTTPModule will report the exception
if (filterContext.HttpContext.IsCustomErrorEnabled)
{
var ai = new TelemetryClient(); …Run Code Online (Sandbox Code Playgroud)