我需要用特定的docType属性值替换硬编码文件夹名称,这是我的部分视图页面代码,
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
string folderPath = Server.MapPath("/media");
string[] files = Directory.GetFiles(folderPath + "/1039");
}
@foreach (string item in files){
<img src="/media/1039/@Path.GetFileName(item)" />
}
我尝试了以下内容,但我认为它遗漏了一些东西,
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
string folderPath = Server.MapPath("/media");
string[] files = Directory.GetFiles(folderPath + "/@Model.Content.GetPropertyValue("placeID")");
}
@foreach (string item in files){
<img src="/media/@Model.Content.GetPropertyValue("placeID")/@Path.GetFileName(item)" />
}
答案 0 :(得分:0)
由(@MrMarsRed)解决,这是正确的代码, 他的回答如下,
你没有按照这个字符串做你期望的事情:
"/@Model.Content.GetPropertyValue("placeID")"
由于你在C#代码块中的字符串内部,所以@Model没有特殊含义(即,它实际上是以这种方式解释的,而不是被评估为表达式)。你想要这样的东西:
string[] files = Directory.GetFiles(folderPath + "/" + Model.Content.GetPropertyValue("placeID"));
这是最终的代码,完美无缺
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
string folderPath = Server.MapPath("/media");
string[] files = Directory.GetFiles(folderPath + "/" + Model.Content.GetPropertyValue("placeID"));
}
@foreach (string item in files){
<img src="/media/@Model.Content.GetPropertyValue("placeID")/@Path.GetFileName(item)" />
}