2012-09-14 2 views
0

코드 숨김 사용을 피하면서 ASP 컨트롤을 사용하여 요소의 마크 업을 렌더링하려고합니다. 그래서 FieldValue 컨트롤 (SharePointWebControls)에서 렌더링되는 것을 포함하도록 href 속성을 동적으로 생성하려고합니다.ASP 컨트롤의 값을 사용하여 동적으로 href 빌드하기

그래서 예를 들어,이 컨트롤은 내가 가진 :

<SharePointWebControls:FieldValue id="PageTitle" FieldName="Title" runat="server"/> 

과 같이 나타납니다 :

"TestPage"

내가 같은 페이지의 링크는 다음과 같이 찾고 있습니다

<a href="http://www.mysite.com/mypage.aspx?title=TestPage">CLICK HERE!</a> 

위의 <a> 요소 - 내 FieldValue 컨트롤에 의해 렌더링 된 결과로 TestPage가 있어야합니다. 그래서 기본적으로 요소의 href 속성 인 <a> 안에이 컨트롤의 출력을 '포함'하는 방법이 필요합니다.

렌더링 된 버전 FieldValue의 마크 업에는 지저분한 비트가 없습니다. 문자 그대로 텍스트이기 때문에 복잡하지는 않습니다.

답변

1

SP 컨트롤에 익숙하지 않지만 href에 컨트롤을 포함 시키려고하면 컴파일러가 큰 따옴표에서 멈춘다 고 생각합니다.

은 아마 당신은이 같은 작은 따옴표 당신에게 href가의 따옴표를 교체 시도 할 수 있습니다 :

<a href='http://www.mysite.com/mypage.aspx?title=<SharePointWebControls:FieldValue id="PageTitle" FieldName="Title" runat="server"/>'>CLICK HERE!</a> 

내가 볼 또 다른 솔루션입니다 (텍스트에 따옴표가있는 경우는 실패합니다 점에 유의) 일부 js/jquery (사실 거의 동일한 솔루션)를 사용합니다.

$('selectorForYourA').attr("href", 'http://www.mysite.com/mypage.aspx?title=<SharePointWebControls:FieldValue id="PageTitle" FieldName="Title" runat="server"/>'); 
관련 문제