【发布时间】:2019-02-21 03:21:28
【问题描述】:
最初使用 .Contains() 当我的 2 个比较项目类似于, 是:
1234
在:
5555 6732 **1234** 3456
在这种情况下,是的,并且代码将在 if() 上运行,但是当我引入多重比较时,例如,
是:
**1234** 2344 2341 3245
在:
5555 6732 **1234** 3456
它不再适用于 .Contains(),因此我正在寻找如何最好地比较任何匹配的 2 个字符串,如果 any 四个数字块在两个字符串中十。
数字块目前每个都在一个字符串中,例如“placeIDs”和“adIDs”,每个数字之间都有空格。
如果您愿意,这是我的完整代码:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using RJP.MultiUrlPicker.Models;
@{
string pagesID = "";
string adPlace = "";
var selection = Umbraco.TypedContent(1384).Children("headerAdvert").Where(x => x.IsVisible() && x.GetPropertyValue<bool>("active"));
foreach(var item in Model.Content.Ancestors().OrderBy(x => x.Level))
{
pagesID = string.Concat(@item.Id.ToString()," ",pagesID);
}
pagesID = string.Concat(@Model.Content.Id.ToString()," ",pagesID);
@:Page ID's @pagesID
}
<div id="leaderboard" class="advert-carousel owl-carousel owl-theme" style="opacity: 1; display: block;">
<div class="owl-wrapper-outer">
<div class="headerSlick owl-wrapper">
@{
foreach(var item in selection){
var dateRange = item.GetPropertyValue<Diplo.DateRangePicker.DateRange>("campaignDate");
<p>Your date range is from @dateRange.StartDate to @dateRange.EndDate</p>
var typedMultiNodeTreePicker = item.GetPropertyValue<IEnumerable<IPublishedContent>>("location");
foreach (var item2 in typedMultiNodeTreePicker)
{
adPlace = string.Concat(@item2.Id.ToString()," ",adPlace);
}
@:ad target ID's @adPlace
if(item.HasValue("location") && pagesID.Contains(adPlace.ToString())){
<script>alert("yes")</script>
var singleLink = item.GetPropertyValue<Link>("links");
if(singleLink != null)
{
if(item.HasValue("wideImage"))
{
IPublishedContent mediaItem = item.GetPropertyValue<IPublishedContent>("wideImage");
<div class="owl-item" style="width: 891px;"><a href="@singleLink.Url" target="@singleLink.Target">
<img class="tag-headadvert img-responsive" style="display: inline;" src="@mediaItem.Url" width="100%" alt="@singleLink.Name" /></a>
</div>
}
}
}
else if (item.IsNull("location")){
var singleLink = item.GetPropertyValue<Link>("links");
if(singleLink != null)
{
if(item.HasValue("wideImage"))
{
IPublishedContent mediaItem = item.GetPropertyValue<IPublishedContent>("wideImage");
<div class="owl-item" style="width: 891px;"><a href="@singleLink.Url" target="@singleLink.Target"><img class="img-responsive" src="@mediaItem.Url" width="100%" alt="@singleLink.Name" /></a></div>
}
}
}
}
}
</div>
</div>
</div>
但总而言之,我将页面的 ID 及其所有父 ID 设为字符串,然后将广告位置 ID 设为字符串,并尝试查找另一个 ID 是否存在。我很乐意重做任何东西,但我是这方面的初学者,所以请耐心等待。 ;-)
干杯
【问题讨论】:
标签: string loops razor umbraco contains