我尝试创建一个ASP.NET用户控件,该控件将根据Feed的URL加载指定的RSS提要。理想情况下,我希望将所有内容保存在用户控件中,以便可以将其放入页面,设置源URL并完成它。我使用jQuery AJAX来保持页面响应更快。这是我开始使用的最基本的骷髅:
在ASP.NET Web窗体中:
<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>
Web表单的母版页引用了所有必需的jQuery内容。使用FireFox开发人员工具浏览页面时,我无法在任何地方找到实际用户控件的javascript。我猜它没有得到渲染。
非常感谢任何有助于获得此类或类似工作的帮助。
答案 0 :(得分:0)
卫生署。在再次浏览之后,我意识到我忽略了一个关键的事情:用户控件上的'runat = server'属性。这就是诀窍。