using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WeiSha.Common;
using Song.ServiceInterfaces;
using VTemplate.Engine;
using System.Text.RegularExpressions;
namespace Song.Site.Mobile
{
///
/// 资讯列表页
///
public class NewsList : BasePage
{
int colid = WeiSha.Common.Request.QueryString["colid"].Int32 ?? -1; //栏目id
protected override void InitPageTemplate(HttpContext context)
{
if (Request.ServerVariables["REQUEST_METHOD"] == "GET")
{
Song.Entities.Columns col = Business.Do().Single(colid);
this.Document.Variables.SetValue("column", col);
}
//此页面的ajax提交,全部采用了POST方式
if (Request.ServerVariables["REQUEST_METHOD"] == "POST")
{
int size = WeiSha.Common.Request.Form["size"].Int32 ?? 10; //每页多少条
int index = WeiSha.Common.Request.Form["index"].Int32 ?? 1; //第几页
int sumcount = 0;
Song.Entities.Article[] arts = Business.Do().ArticlePager(Organ.Org_ID, colid, true, "", size, index, out sumcount);
string json = "{\"size\":" + size + ",\"index\":" + index + ",\"sumcount\":" + sumcount + ",";
json += "\"items\":[";
for (int i = 0; i < arts.Length; i++)
{
Song.Entities.Article art = arts[i];
//处理详情
art.Art_Details = "";
//art.Art_Details = Regex.Replace(art.Art_Details, @"\s{1,}", " ", RegexOptions.Singleline);
//art.Art_Details = HttpUtility.UrlEncode(art.Art_Details);
art.Art_Title = art.Art_Title.Replace("\"", """);
art.Art_Title = art.Art_Title;
//
art.Art_Logo = Upload.Get["News"].Virtual + art.Art_Logo;
if (string.IsNullOrWhiteSpace(art.Art_Intro))
art.Art_Intro = ReplaceHtmlTag(art.Art_Details, 50);
json += art.ToJson() + ",";
}
if (json.EndsWith(",")) json = json.Substring(0, json.Length - 1);
json += "]}";
Response.Write(json);
Response.End();
}
}
///
/// 去除HTML标签,并返回指定长度
///
///
///
///
private string ReplaceHtmlTag(string html, int length = 0)
{
string strText = System.Text.RegularExpressions.Regex.Replace(html, "<[^>]+>", "");
strText = System.Text.RegularExpressions.Regex.Replace(strText, "&[^;]+;", "");
if (length > 0 && strText.Length > length)
return strText.Substring(0, length);
return strText;
}
}
}