изначально использовал .Contains (), когда мои 2 элемента сравнения были примерно такими: Is:
1234
In:
5555 6732 **1234** 3456
И в этом случае, да, это было,и код будет выполняться на if (), но когда я ввел несколько сравнений, например,
Is:
**1234** 2344 2341 3245
In:
5555 6732 **1234** 3456
Это нетбольше работает с .Contains (), поэтому я ищу, чтобы выяснить, как лучше сравнить 2 строки для любого соответствия, и если любой блок из четырех чисел в обеих строках, сделайте X.
В настоящее время блоки чисел находятся в одной строке, например, «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>
Но в итоге я беру идентификатор страницы и все родительские идентификаторы, превращаю их в строку, затем беру идентификатор местоположения объявления, превращаю их в строку, и я пытаюсь найти, существует ли один идентификатор вДругой.Я рад что-то переделать, но я новичок в этом, поэтому, пожалуйста, будьте терпеливы.; -)
Ура