here과 here과 비슷한 질문이 몇 개 있지만 문제를 해결할 수 없습니다.Sitecore의 미디어 URL 설정
Sitecore 6.4.1에서 이미지를 다운로드 할 수있는 '다운로드 계획'링크가 있어야합니다. 성공적으로 이미지를 배경 등으로 설정했지만 href로 링크하는 것은 어렵다는 것을 입증했습니다. sublayout로 설정되어 내 ASCX 컨트롤에서
는 프런트 엔드 코드는 다음과 직기 :
<a class="btn btn-default" id="download_plans" runat="server" ClientIDMode="Static">
Download Plans
</a>
그리고 내 코드는 숨김이있다 : 다른에서
private void Page_Load(object sender, EventArgs e)
{
if (((Sitecore.Data.Fields.ImageField)Sitecore.Context.Item.Fields["Floor Plan Image"]).MediaItem != null)
{
var url = Sitecore.StringUtil.EnsurePrefix('/', MediaManager.GetMediaUrl(((Sitecore.Data.Fields.ImageField)Sitecore.Context.Item.Fields["Floor Plan Image"]).MediaItem));
download_plans.HRef = url;
}
}
을 내 컨트롤 나는 HRef 속성을 추가하는 대신 아래 코드를 사용하여 스타일을 추가했습니다. 요소를 검색 할 때 사용하려면이 올바른 문자열 (그것은 매우 일반적인 내 다른 컨트롤에 "이미지"입니다) -이 Sitecore에서, 필드가 "평면도 이미지"라고
download_plans.Attributes.Add("style", string.Format("background-position:right bottom; background-image:url(\"{0}\"); background-repeat:no-repeat; background-size:contain", url));
잘 작동 ? 현재 요소에 아무 것도 추가되지 않습니다.
제안 사항?
코드를 디버그하고 조건이 충족되는지 확인하려고 했습니까? 그리고'HRef '설정을위한 코드는 전혀 실행되지 않습니까? ' "평면도 이미지"는 필드 이름에 대한 올바른 문자열입니다. 'Name '('Display Name'이 아님)을 꼭 사용하십시오. –
좋은 아이디어 - CS를 내 IIS 프로세스에 연결했고 조건이 충족되었습니다. HRef 필드가 download_plans 요소에 설정되어 있지만 브라우저에 아직 표시되지 않습니다. –
컨트롤을 ''로 변경하고 대신'NavigateUrl'을 설정하십시오. –
jammykam