欢迎大家访问我的BLOG,我会多多的出原创文章,希望大家支持我,为我祈祷,让我实现我的三个梦想!再30岁能成为一个名优秀的软件架构师!

网络电视

 

        /// <summary>
        
/// URL转换器,就是判断http://www.jjsee.com/Default.aspx?BTypeID=3,有没有“?”如果没有+“?”否则+“&”
        
/// </summary>
        
/// <param name="strUrl"></param>
        
/// <returns></returns>

        public string JoinChar(string strUrl)
        
{
            
string url=String.Empty;
            
if(strUrl==String.Empty)
            
{
                
return String.Empty;
            }

            
if(strUrl.IndexOf("?")<strUrl.Length-1)
            
{
                
if(strUrl.IndexOf("?")>0)
                
{
                    
if(strUrl.IndexOf("&")<strUrl.Length-1)
                    
{
                        url
=strUrl+"&";
                    }

                    
else
                    
{
                        url
=strUrl;
                    }

                }

                
else
                
{
                    url
=strUrl+"?";
                }

            }

            
else
            
{
                url
=strUrl;
            }

            
return url;
        }

 

  1/// <summary>
  2        /// 得到电视节目列表TVList的构造HTML
  3        /// </summary>
  4        /// <param name="BTypeID">大的分类,包括:分类导航=1,专题导航=2,P2P导视=4,个性定制=3</param>
  5        /// <param name="STypeID">小的分类:例如:娱乐,体育,财经,少儿.</param>
  6        /// <param name="condition">所有附加条件:一般用于搜索引擎,比如condition="(charindex("+"\'"+strKey+"\'"+" ,a.fChannelName)<>0)";</param>
  7        /// <param name="TotalNumber">SQL记录总数(或条数)</param>
  8        /// <param name="_pageIndex">分页当前页次,例如:当前页是第六页</param>
  9        /// <param name="_rows">一页显示的行数(或一页显示的记录数)</param>
 10        /// <returns>返回一个TVLIST表的字符串</returns>

 11        public string GetTVList(int BTypeID,int STypeID,string condition,ref int TotalNumber,ref int _pageIndex,int _rows)
 12        {
 13            string fChannelName=null;//频道名称
 14            string TypeName=null;//小分类的名称:比如:娱乐,少儿,新闻.
 15            string fHits=null;//点击数
 16            string strSql=null;//构造SQL字符串
 17            string fChannelLogo=null;//频道LOGO
 18            int nfChannelId;//频道ID
 19            int nfElite;//是否推荐
 20            string connStr=ConfigurationSettings.AppSettings["connStr"];
 21            SqlConnection conn=new SqlConnection(connStr);
 22            if(Session["UserID"]!=null)
 23            {
 24                strSql="SELECT a.*, b.fTypeName AS TypeName, d.UserID AS UserID FROM TV_Channel a INNER JOIN TV_Channel_Type b ON a.fTypeID = b.fTypeID INNER JOIN TV_Channel_Special c ON a.fSpecialID = c.fSpecialID LEFT OUTER JOIN TV_Collection d ON (a.fChannelId = d.fCannelId and d.IsDel=0 and d.UserId='"+Session["UserID"].ToString()+"')";
 25            }

 26            else
 27            {
 28                strSql="SELECT a.*, b.fTypeName AS TypeName FROM TV_Channel a INNER JOIN TV_Channel_Type b ON a.fTypeID = b.fTypeID INNER JOIN TV_Channel_Special c ON a.fSpecialID = c.fSpecialID"
 29            }

 30            if (BTypeID==1&&condition==String.Empty)
 31            {
 32                strSql+=" WHERE a.fTypeID = @STypeID and a.fIsDeleted=0";
 33            }

 34            if(BTypeID==2)
 35            {
 36                strSql+=" where a.fSpecialID=@STypeID and a.fIsDeleted=0";
 37            }

 38            if(BTypeID==4)
 39            {
 40                strSql+=" INNER JOIN TV_Channel_Player e ON a.fChannelId = e.fChannelId where e.fPlayTypeID=@STypeID  and a.fIsDeleted=0";
 41            }

 42            if(condition!=String.Empty)
 43            {
 44                strSql+=" where a.fIsDeleted=0 and "+condition;
 45            }

 46            strSql+=" ORDER BY a.fUpdateTime DESC";
 47            SqlCommand comm=new SqlCommand(strSql,conn);
 48            comm.Parameters.Add("@StypeID",SqlDbType.Int);
 49            comm.Parameters["@StypeID"].Value=STypeID;
 50            StringBuilder sbTVList=new StringBuilder(1024);
 51            sbTVList.Append("<table width='100%' border='0' cellpadding='0' cellspacing='1' bgcolor='#FFFFFF'>\n");
 52            if(Session["UserID"]!=null)
 53            {
 54                sbTVList.Append("<tr>\n<td align='left' bgcolor='#DCE4F4' style='padding-top: 4px;padding-left: 26px;' width='10%'><input type='checkbox' name='checkall' value='all' onclick='javascript:SelectAll(this.form);'>类别</td>\n");
 55            }

 56            else
 57            {
 58                sbTVList.Append("<tr>\n<td align='left' bgcolor='#DCE4F4' style='padding-top: 4px;padding-left: 26px;' width='10%'>类别</td>\n");
 59            }

 60            sbTVList.Append("<td width='25%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>频道名称</td>\n")
 61                .Append("<td width='40%' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>当前节目</td>\n")
 62                .Append("<td width='5%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>播放</td>\n")
 63                .Append("<td width='5%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>点击</td>\n")
 64                .Append("<td width='15%' height='23' align='center' bgcolor='#DCE4F4' style='padding-top: 4px;'>推荐指数</td>\n")
 65                .Append(" </tr>\n<tr>\n<td colspan='6' align='center' bgcolor='#819BCD'><img src='images/spacer.gif' width='1' height='1'></td>\n")
 66                .Append("</tr>\n");
 67            SqlDataAdapter da=new SqlDataAdapter();
 68            da.SelectCommand=comm;
 69            DataSet ds=new DataSet();
 70            conn.Open();
 71            da.Fill(ds);
 72            conn.Close();
 73            TotalNumber=ds.Tables[0].Rows.Count;
 74            int i=0;
 75            foreach(DataRow dr in ds.Tables[0].Rows)
 76            {
 77                if(TotalNumber%_rows==0)
 78                {
 79                    if(_pageIndex>TotalNumber/_rows) _pageIndex=TotalNumber/_rows;
 80                }

 81                else
 82                {
 83                    if(_pageIndex>TotalNumber/_rows) _pageIndex=TotalNumber/_rows+1;
 84                }

 85
 86                if(_pageIndex>0)
 87                {
 88                    if(i<(_pageIndex-1)*_rows) {++i; continue;};
 89                    if(i>_pageIndex*_rows-1break;
 90                }

 91                TypeName=Convert.IsDBNull(dr["TypeName"])?String.Empty:dr["TypeName"].ToString();
 92                fChannelName=Convert.IsDBNull(dr["fChannelName"])?String.Empty:dr["fChannelName"].ToString();
 93                fHits=Convert.IsDBNull(dr["fHits"])?String.Empty:dr["fHits"].ToString();
 94                nfChannelId=Convert.IsDBNull(dr["fChannelId"])?0:Convert.ToInt32(dr["fChannelId"]);
 95                fChannelLogo=dr["fChannelLogo"].ToString().Trim();
 96                nfElite=int.Parse(dr["fElite"].ToString());
 97                if(i%2==0)//间隔行交替换色的作用,这是偶数行
 98                {
 99                    sbTVList.Append("<tr bgcolor='#ffffff'>\n");
100                }

101                else//奇数行
102                {
103                    sbTVList.Append("<tr bgcolor='#DFF5FF'>\n");
104                }

105                sbTVList.Append("<td height='25' align='left' class='number2' style='padding-left: 26px;'>\n");
106                if(Session["UserID"]!=null)//用户登陆的情况显示个性定制的CheckBox框
107                {
108                    sbTVList.Append("<input type='checkbox' name='Check_Sel' value='").Append(nfChannelId).Append("'>").Append(TypeName);
109                    if(dr["UserID"]!=System.DBNull.Value&&Convert.ToString(dr["UserID"])==Session["UserID"].ToString())
110                    {
111                        sbTVList.Append("<font color='red'>√</font>").Append("</td>\n");
112                    }

113                }

114                else
115                {
116                    sbTVList.Append(TypeName).Append("</td>\n");
117                }

118                sbTVList.Append("<td height='22' align='left' style='padding-left: 12px;'><img src='");
119                if(fChannelLogo==String.Empty)
120                {
121                    sbTVList.Append("/images/tvslogo/jjsee.gif");
122                }

123                else
124                {
125                    sbTVList.Append(fChannelLogo);
126                }

127                sbTVList.Append("' border=0 align='absmiddle'>").Append(" <a href='javascript:void(0);' onclick=\"showDialog_Frame('/indexPlay.aspx?cid=").Append(nfChannelId).Append("',window,'700','516');\">").Append(fChannelName).Append("</a></td>\n")
128                    .Append("<td>&nbsp;</td>\n")
129                    .Append("<td align='center'><a href='javascript:void(0);' onclick=\"showDialog_Frame('/indexPlay.aspx?cid=").Append(nfChannelId).Append("',window,'700','516');\"><img src='/images/ico/iconTV.GIF' alt='请安装相应软件后点击收看' width='14' height='15' border='0'></a></td>")
130                    .Append("<td align='center' class='number2'>").Append(fHits).Append("</td>\n")
131                    .Append("<td align='left' style='padding-left: 26px;'>");
132                switch(nfElite)
133                {
134                    case 0:
135                        sbTVList.Append("<img src='/images/ico/Green_Elite_0.gif' alt='当前不可用' OnMouseOver=\"this.style.cursor='hand'\" />");
136                        break;
137                    case 1:
138                        sbTVList.Append("<img src='/images/ico/Green_Elite_1.gif' alt='普通' OnMouseOver=\"this.style.cursor='hand'\" />");
139                        break;
140                    case 2:
141                        sbTVList.Append("<img src='/images/ico/Green_Elite_2.gif' alt='推荐' OnMouseOver=\"this.style.cursor='hand'\" />");
142                        break;
143                    case 3:
144                        sbTVList.Append("<img src='/images/ico/Green_Elite_3.gif' alt='强烈推荐' OnMouseOver=\"this.style.cursor='hand'\" />");
145                        break;
146                }

147                    sbTVList.Append("</td></tr>\n");
148                ++i;
149            }

150            sbTVList.Append("</table></form>\n");
151            return sbTVList.ToString();
152        }

153        
154        /// <summary>
155        /// 得到小类的构造HTML,比如:新闻,财经,少儿,科教
156        /// </summary>
157        /// <param name="BTypeID">大类id:分类导航=1,专题导航=2,P2P导航=4,个性定制=3</param>
158        /// <param name="STypeID">小类id:新闻,财经,少儿</param>
159        /// <param name="url">当前页面的URL,比如:http://www.jjsee.com/Default.aspx?BTypeID=1&STypeID=6&key1=&page=3,主要作用是:在会员定制电视节目时,如果恰巧它在第三页,当单击定制,提交表单,还可以保持在第三页上,而不是回到第一页</param>
160        /// <returns>返回:小类的构造HTML</returns>

161        public string GetRadioNav(int BTypeID,int STypeID,string url)
162        {
163            string strSql=null;
164            string connStr=ConfigurationSettings.AppSettings["connStr"];
165            SqlConnection conn=new SqlConnection(connStr);
166            if(BTypeID==1||BTypeID==0)
167            {
168                strSql="select fTypeID as ID,fTypeName as Name from TV_Channel_Type";
169            }

170            if(BTypeID==2)
171            {
172                strSql="select fSpecialID as ID,fSpecialName as Name from TV_Channel_Special";
173            }

174            if(BTypeID==3)
175            {
176                strSql="select fSpecialID as ID,fSpecialName as Name from TV_Channel_Special";
177            }

178            if(BTypeID==4)
179            {
180                strSql="select fPlayTypeId as ID,fPlayTypeName as Name from TV_PlayType";
181            }

182            SqlCommand comm=new SqlCommand(strSql,conn);
183            StringBuilder sbRadioNav=new StringBuilder(512);
184            sbRadioNav.Append("<form action='").Append(url).Append("' method='post' name='form2'><table width='100%' border='0' cellpadding='0' cellspacing='0'>\n<tr>\n<td height='10' align='left' valign='middle'>\n");
185            conn.Open();
186            SqlDataReader dr=comm.ExecuteReader();
187            while(dr.Read())
188            {
189                sbRadioNav.Append("<input name='radiobutton' type='radio' value='").Append(dr["ID"])
190                    .Append("'onclick='SkipUrl(").Append(BTypeID).Append(",").Append(dr["ID"]).Append(")'");
191                if(Convert.ToInt32(dr["ID"])==STypeID)
192                {
193                    sbRadioNav.Append(" checked >\n");
194                }

195                else
196                {
197                    sbRadioNav.Append(" >\n");
198                }

199                sbRadioNav.Append("<font color=#FFFFFF>").Append(dr["Name"]).Append("</font>&nbsp;&nbsp;\n");
200            }

201            conn.Close();
202            if(Session["UserID"]!=null)
203            {
204                sbRadioNav.Append("<input type='submit' id='submit1' name='submit1' value='定制' class='Default' /></tr>\n</table>");
205            }

206            else
207            {
208                sbRadioNav.Append("</tr>\n</table>");
209            }

210            return sbRadioNav.ToString();
211        }

212
213        /// <summary>
214        /// 作用:返回构造的搜索引擎的HTML
215        /// </summary>
216        /// <returns></returns>

217        public string GetTVSearch()
218        {
219            StringBuilder sbTVSearch=new StringBuilder(512);
220            sbTVSearch.Append("<table cellpadding='0' cellspacing='0' width='60%' align='Left'>\n")
221                .Append("<form action='Default.aspx' name=SearchForm method=Post target=_blank><tr>\n")
222                .Append("<td>关键字:</td>\n")
223                .Append("<td><input name='key1' type='text' size='25' class='TextBox'></td>\n")
224                .Append("<td><input name='searchType' type='radio' value='0' checked>\n")
225                .Append("频道<input name='searchType' type='radio' value='1'>当前节目</td>\n")
226                .Append("<td><a href='javascript:document.SearchForm.submit();'><img src='images/index_sosuo-11.gif' width='46' height='31' hspace='4' align='absmiddle' border=0></a></td>")
227                .Append("</tr></form></table>\n");
228            return sbTVSearch.ToString();
229        }

230
231        /// <summary>
232        /// 返回一个构造的分页表格HTML
233        /// </summary>
234        /// <param name="sFileName">当前URL</param>
235        /// <param name="CurrentPage">当前页次</param>
236        /// <param name="TotalNumber">总的记录数</param>
237        /// <param name="MaxPerPage">一页最大记录数</param>
238        /// <param name="ShowTotal">是否显示总记录数</param>
239        /// <param name="ShowAllPages">是否显示跳转页</param>
240        /// <param name="strUnit">信息单位:如条,篇</param>
241        /// <returns>返回一个构造的分页表格HTML</returns>

242        public string GetTVPager(string sFileName,ref int CurrentPage,int TotalNumber,int MaxPerPage,bool ShowTotal,bool ShowAllPages,string strUnit)
243        {
244            int TotalPage;
245            string strUrl;
246            if(TotalNumber==0||MaxPerPage==0)
247            {
248                return String.Empty;
249            }

250            if(TotalNumber%MaxPerPage==0)
251            {
252                TotalPage=TotalNumber/MaxPerPage;
253            }

254            else
255            {
256                TotalPage=TotalNumber/MaxPerPage+1;
257            }

258            if(CurrentPage>TotalPage) CurrentPage=TotalPage;
259            StringBuilder sbPager=new StringBuilder(512);
260            sbPager.Append("<table align='center'><tr><td>");
261            if(ShowTotal) sbPager.Append("共 <b>").Append(TotalNumber).Append("</b> ").Append(strUnit).Append("&nbsp;&nbsp;");
262            strUrl=JoinChar(sFileName);
263            if(CurrentPage<2)
264            {
265                sbPager.Append("首页 上一页&nbsp;");
266            }

267            else
268            {
269                sbPager.Append("<a href='").Append(strUrl).Append("page=1'>首页</a>&nbsp;")
270                    .Append("<a href='").Append(strUrl).Append("page=").Append(CurrentPage-1).Append("'>上一页</a>&nbsp;");
271            }

272            if(CurrentPage>=TotalPage)
273            {
274                sbPager.Append("下一页 尾页");
275            }

276            else
277            {
278                sbPager.Append("<a href='").Append(strUrl).Append("page=").Append((CurrentPage+1)).Append("'>下一页</a>&nbsp;")
279                    .Append("<a href='").Append(strUrl).Append("page=").Append(TotalPage).Append("'>尾页</a>");
280            }

281            sbPager.Append("&nbsp;页次:<strong><font color=red>").Append(CurrentPage).Append("</font>/").Append(TotalPage).Append("</strong>页 ");
282            sbPager.Append("&nbsp;<b>").Append(MaxPerPage).Append("</b>").Append(strUnit).Append("/页");
283            if(ShowAllPages==true)
284            {
285                if(TotalPage>1)
286                {
287                    sbPager.Append("&nbsp;&nbsp;转到第<input class='TextBox' type='text' name='page' size='3' maxlength='5' value='")
288                        .Append(CurrentPage).Append("' onKeyPress=\"if (event.keyCode==13) window.location='").Append(strUrl)
289                        .Append("page=").Append("'+this.value;\"'>页").Append("&nbsp;<input type='button' class='TextBox' value='Go' onclick=\"javascript: window.location='")
290                        .Append(strUrl).Append("page=").Append("'+page.value;\"'>");
291                }

292            }

293            sbPager.Append("</td></tr></table>");
294            return sbPager.ToString();
295        }

296
297        /// <summary>
298        /// 构造大类导航的HTML
299        /// </summary>
300        /// <param name="Btype">大类ID:分类导航=1,专题导航=2,P2P导航=4,个性定制=3</param>
301        /// <returns></returns>

302        public string GetTypeNav(int Btype)
303        {
304            StringBuilder sbTypeNav=new StringBuilder(512);
305            sbTypeNav.Append("<table width='100%'  border='0' cellspacing='0' cellpadding='0'>\n<tr>")
306                .Append("<td width='85' background='");
307            if(Btype==1)
308            {
309                sbTypeNav.Append("images/index_center-04.gif' height='27' align='center'><a href='Default.aspx?BTypeID=1'><font color=#FFFFFF>分类导视</font></a></td>");
310            }

311            else
312            {
313                sbTypeNav.Append("images/index_1.gif' height='27' align='center'><a href='Default.aspx?BTypeID=1'><font color=#004C82>分类导视</font></a></td>");
314            }

315            sbTypeNav.Append("<td width='9'>&nbsp;</td>\n<td width='84' background='");
316                      
317            if(Btype==2)
318            {
319                sbTypeNav.Append("images/index_center-04.gif' height='27' align='center'><a href='Default.aspx?BTypeID=2'><font color=#FFFFFF>专题导视</font></a></td>\n");
320            }

321            else
322            {
323                sbTypeNav.Append("images/index_1.gif' height='27' align='center'><a href='Default.aspx?BTypeID=2'><font color=#004C82>专题导视</font></a></td>\n");
324            }

325            sbTypeNav.Append("<td width='9'>&nbsp;</td>\n<td width='84' background='");
326
327            if(Btype==4)
328            {
329                sbTypeNav.Append("images/index_center-04.gif' height='27' align='center'><a href='Default.aspx?BTypeID=4'><font color=#FFFFFF>P2P导视</font></a></td>\n");
330            }

331            else
332            {
333                sbTypeNav.Append("images/index_1.gif' height='27' align='center'><a href='Default.aspx?BTypeID=4 '><font color=#004C82>P2P导视</font></a></td>\n");
334            }

335            sbTypeNav.Append("<td width='9'>&nbsp;</td>\n<td width='84' background='");
336                  
337            if(Btype==3)
338            {
339                sbTypeNav.Append("images/index_center-04.gif' height='27' align='center'><a href='Default.aspx?BTypeID=3'><font color=#FFFFFF>个性定制</font></a></td>\n");
340            }

341            else
342            {
343                sbTypeNav.Append("images/index_1.gif' height='27' align='center'><a href='Default.aspx?BTypeID=3'><font color=#004C82>个性定制</font></a></td>\n");
344            }

345
346            sbTypeNav.Append("<td width='475'>&nbsp;</td>\n");
347            sbTypeNav.Append("<td width='77'>&nbsp;</td>\n</tr>\n </table>");                  
348            return sbTypeNav.ToString();
349        }

posted on 2006-07-12 09:52  程序缘  阅读(795)  评论(0)    收藏  举报

导航