글
WEB/ASP.NET With C# 2007. 3. 9. 15:56[개발] AJAX - Rolling List
요번 프로젝트때 만든 롤링리스트...
10초마다 ajax함수를 호출해서...
함수에 요청하는 건데.. 부하가 많이 걸려서 OTL
[aspx]
<UL id=RollListSubList>
<asp:Literal id=ltrMainRssList EnableViewState="False" Runat="server"></asp:Literal>
</UL>
<script language="javascript" type="text/javascript">
function ReloadRollList(){Ajax.PG.ucRollListNetSub.reloadList(Reload_CallBack);}
function Reload_CallBack(res){
if(res != null){
var divRss = document.getElementById('RollListSubList'); divRss.innerHTML = res.value;}}
setInterval("ReloadRollList();", 10000);
</script>
[cs]
[AjaxPro.AjaxMethod]
public string reloadList()
{
int temp = 0;
DataSet ds = RollListNetBiz.GetListAdminRecommand(1,30, out temp);
if(ds != null)
{
DataTable dt = Utility.RollingData(ds.Tables[0], 10);
string HTML = string.Empty;
Random random = new Random();
int boldNum1 = random.Next(0, 4);
int boldNum2 = random.Next(5, 9);
for(int i = dt.Rows.Count -1 ; i >= 0 ; i--)
{
int RollListID = (int) dt.Rows[i]["RollListID"];
string Title = dt.Rows[i]["Title"].ToString();
string Content = dt.Rows[i]["Content"].ToString();
string Link = dt.Rows[i]["ContentUrl"].ToString();
string MasterName = dt.Rows[i]["MasterName"].ToString();
DateTime Date = (DateTime) (dt.Rows[i]["PubDate"]);
string MasterLink = "./RollListNetMaster.aspx?MasterID=" + RollListID.ToString();
Title = Utility.RemoveHTML(Title);
Title = Utility.RemoveHTMLTag(Title);
Title = Utility.GetTitles(Title, 12);
if(i == boldNum1 || i == boldNum2)
{
Title = Utility.GetTitles(Title, 10);
HTML += "<li class='bold'><a href='" + Link + "' target='RollListViewer'>" + Title + "</a></li>";
}
else
{
Title = Utility.GetTitles(Title, 12);
HTML += "<li><a href='" + Link + "' target='RollListViewer'>" + Title + "</a></li>";
}
}
return HTML;
}
else
return null;
}
RECENT COMMENT