피드의 URL이 지정된 경우 지정된 RSS 피드를로드하는 ASP.NET 사용자 정의 컨트롤을 만들려고합니다. 이상적으로는 모든 것을 사용자 정의 컨트롤에 그대로 두어 간단히 페이지에 넣고, 피드 URL을 설정하고, 처리 할 수 있도록하고 싶었습니다. jQuery AJAX를 사용하여 페이지를보다 신속하게 응답합니다.사용자 정의 컨트롤 내에서 JavaScript 실행
<div>
<ResellerViewControls:RssFeedListAjax FeedUrl="http://www.samplelist.com/rss/" />
</div>
사용자 컨트롤의 내장 :
<%@ Control Language="C#" ClassName="RssFeedListAjax" %>
<script runat="server">
public string FeedUrl { get; set; }
</script>
<script type="text/javascript">
jQuery(document).ready(function() {
alert('Loading...');
parseRSS('<%= FeedUrl %>', showResult);
})();
function parseRSS(url, callback) {
$.ajax({
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
success: function(data) {
if (callback) {
callback(data.responseData.feed);
} else {
throw Error("No callback function provided");
}
}
});
}
function showResult(data) {
$('#RssFeedList').innerText = data;
}
</script>
<div id="RssFeedList">
</div>
웹 폼의 마스터 페이지에 대한 참조가있는 ASP.NET 웹 폼 내부
: 여기 시작했습니다 해골의 barest입니다 필요한 모든 jQuery 물건. FireFox 개발자 도구를 사용하여 페이지를 탐색 할 때 어디에서나 실제 사용자 정의 컨트롤의 javascript를 찾을 수 없습니다. 나는 그것이 렌더링되지 않을 것 같아요.
이 문제를 해결하는 데 도움이 필요하시면 크게 감사드립니다.
명심해야 할 것이 있습니다. 자바 스크립트를 임베딩하는 대신 ['ClientScriptManager'] (http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx)를 사용하여 사용자 컨트롤에있는 자바 스크립트를 렌더링 할 수 있습니다. 컨트롤에. 이유는 페이지에 둘 이상의 사용자 정의 컨트롤이있는 경우 자바 스크립트가 충돌하기 때문입니다. – Icemanind
@icemanind 그건 실제로 좋은 생각입니다. 나는 그렇게 할 것이다. 감사. – Nate222