0
10 개의 콘텐츠 스팟이 있습니다. 나는 그들 중 1 명을 무작위로 보여줄 페이지를 원합니다.임의의 콘텐츠 스팟 선택
'ShowContentSpots'기능을 사용해 보았습니다. 그러나 모두 &이 순환하지 않습니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
10 개의 콘텐츠 스팟이 있습니다. 나는 그들 중 1 명을 무작위로 보여줄 페이지를 원합니다.임의의 콘텐츠 스팟 선택
'ShowContentSpots'기능을 사용해 보았습니다. 그러나 모두 &이 순환하지 않습니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
당신은 ShowContentSpots 기능을 편집해야합니다
를 검색 할 때
@if (!string.IsNullOrEmpty(ContentSpotIds))
{
var rand = new Random();
var spotIds = ContentSpotIds.Split(',').Select(f=>new Guid(f));
var spots = Data.Get<Content.ContentSpot>().Where(f=> spotIds.Contains(f.Id)).ToList();
if (spots.Any())
{
var spot = spots[rand.Next(spots.Count)];
<div class="spots">
<div class="spot">
@Html.Raw(spot.Content)
</div>
</div>
}
}
이는 나의 일부임을 유의하시기 바랍니다 iginal 함수의 코드.
var rand = new Random();
을하고이 부분 수정 : 여기 나는 추가
var spot = spots[rand.Next(spots.Count)];
<div class="spots">
<div class="spot">
@Html.Raw(spot.Content)
</div>
</div>
이 그냥 빨리 샘플입니다. 따라서 페이지를 아주 빨리 새로 고칠 때마다 자리가 매번 바뀌지 않을 수 있습니다. 왜냐하면 우리가 페이지를 참조 할 때마다 새로운 무작위 객체를 생성하기 때문입니다.
이렇게하려면 임의 개체를 한 번만 다른 곳으로 초기화하고이 함수에서 사용하십시오.
감사합니다. CMS를 통해서만 편집하고 있습니다. 어떻게 그 기능을합니까? – niico
기능 perspective/면도기 기능/내용/ShowContentSpots. 어쩌면 좋은 접근법은 이것에 기반하여 다른 면도기 기능을 만드는 것입니다 (만들 때 어떤 기능을 기본으로 할 것인지 선택할 수 있습니다). – wysocki