在Sitecore中,我有一个控制器渲染,它动态循环遍历多列表中的所有导航栏项,并将它们输出到视图。
我尝试过以下代码:
<li class="first-child"><a href="@i.Url">@i.Name</a></li>
但是,当我在浏览器中检查元素时,会出现:
<a href="<link linktype="external"; url="";https://www.example.com/en-gb/london/eat"; anchor="" target="" />">Eat</a>
上述行产生了一个额外的&gt;吃之前。我有什么需要
我也在View中尝试了这种语法:
<li class="first-child">
<a href="@Html.Sitecore().Field("Url", i);">
@Html.Sitecore().Field("Name", i);
</a>
</li>
当我在浏览器中检查元素时,我得到了这个:
<a href=";"> ; </a>
我需要帮助在View中呈现这一点,我们将非常感谢您对语法的任何帮助。
修改
我的控制器操作方法如下所示:
public ActionResult FooterCities()
{
var model = new List<FooterCities>();
var footercitycategories = Sitecore.Context.Item;
var item = (Sitecore.Data.Fields.MultilistField)footercitycategories.Fields["FooterCities"];
foreach (var m in item.GetItems())
{
model.Add(
new FooterCities()
{
Name = m["Name"],
CityUrl = m["CityUrl"]
});
}
return View("/Views/Example/Layouts/LayoutRenderings/ViewRendering/FooterCities.cshtml", model);
}
答案 0 :(得分:2)
尝试这样的事情:
Input to neural network from shuffle batch: [batch_size, patch_size, patch_size, depth]
During training, this is [512, 32, 32, 3]
Input to neural network for inference: [batch_size, height, width, depth]
During inference, this can be [1, 100, 100, 3], or [3, 150, 150, 3], etc.
上面的代码从另一个SO答案中复制,解释了如何在链接字段中使用文本字段:https://stackoverflow.com/a/32848931/157833。
或其他选项:
@Html.Sitecore().BeginField("Url", new { haschildren= true })
@Html.Sitecore().Field("Name")
@Html.Sitecore().EndField()
杰森在这里解释:https://theagilecoder.wordpress.com/2014/10/06/sitecore-mvc-editable-links-wrapping-text-and-images/
假设您@Html.Sitecore().Field("Url", new {text = @Html.Sitecore().Field("Name")})
是i
类的对象,则应将其作为第二个参数传递。方法定义是:
Item
所以在你的情况下它应该是:
public virtual HtmlString Field(string fieldName, Item item, object parameters)
显示控制器代码后编辑
您应该改变模型生成的方式。使用:
@Html.Sitecore().Field("Url", i, new {text = @Html.Sitecore().Field("Name")})
然后在视图中:
foreach (var m in item.GetItems())
{
Sitecore.Data.Fields.LinkField urlField = m.Fields["CityUrl"];
string url = urlField.GetFriendlyUrl();
model.Add(
new FooterCities()
{
Name = m["Name"],
CityUrl = url
});
}