网络电视
/// <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-1) break;
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> </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> \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(" ");
262
strUrl=JoinChar(sFileName);
263
if(CurrentPage<2)
264
{
265
sbPager.Append("首页 上一页 ");
266
}
267
else
268
{
269
sbPager.Append("<a href='").Append(strUrl).Append("page=1'>首页</a> ")
270
.Append("<a href='").Append(strUrl).Append("page=").Append(CurrentPage-1).Append("'>上一页</a> ");
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> ")
279
.Append("<a href='").Append(strUrl).Append("page=").Append(TotalPage).Append("'>尾页</a>");
280
}
281
sbPager.Append(" 页次:<strong><font color=red>").Append(CurrentPage).Append("</font>/").Append(TotalPage).Append("</strong>页 ");
282
sbPager.Append(" <b>").Append(MaxPerPage).Append("</b>").Append(strUnit).Append("/页");
283
if(ShowAllPages==true)
284
{
285
if(TotalPage>1)
286
{
287
sbPager.Append(" 转到第<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(" <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'> </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'> </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'> </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'> </td>\n");
347
sbTypeNav.Append("<td width='77'> </td>\n</tr>\n </table>");
348
return sbTypeNav.ToString();
349
}
/// <summary>2
/// 得到电视节目列表TVList的构造HTML3
/// </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;//频道LOGO18
int nfChannelId;//频道ID19
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
else27
{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
else57
{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
else82
{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-1) break;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
else115
{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
else124
{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> </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
else196
{197
sbRadioNav.Append(" >\n");198
}199
sbRadioNav.Append("<font color=#FFFFFF>").Append(dr["Name"]).Append("</font> \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
else207
{208
sbRadioNav.Append("</tr>\n</table>");209
}210
return sbRadioNav.ToString();211
}212

213
/// <summary>214
/// 作用:返回构造的搜索引擎的HTML215
/// </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
/// 返回一个构造的分页表格HTML233
/// </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
else255
{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(" ");262
strUrl=JoinChar(sFileName);263
if(CurrentPage<2)264
{265
sbPager.Append("首页 上一页 ");266
}267
else268
{269
sbPager.Append("<a href='").Append(strUrl).Append("page=1'>首页</a> ")270
.Append("<a href='").Append(strUrl).Append("page=").Append(CurrentPage-1).Append("'>上一页</a> ");271
}272
if(CurrentPage>=TotalPage)273
{274
sbPager.Append("下一页 尾页");275
}276
else277
{278
sbPager.Append("<a href='").Append(strUrl).Append("page=").Append((CurrentPage+1)).Append("'>下一页</a> ")279
.Append("<a href='").Append(strUrl).Append("page=").Append(TotalPage).Append("'>尾页</a>");280
}281
sbPager.Append(" 页次:<strong><font color=red>").Append(CurrentPage).Append("</font>/").Append(TotalPage).Append("</strong>页 ");282
sbPager.Append(" <b>").Append(MaxPerPage).Append("</b>").Append(strUnit).Append("/页");283
if(ShowAllPages==true)284
{285
if(TotalPage>1)286
{287
sbPager.Append(" 转到第<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(" <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
/// 构造大类导航的HTML299
/// </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
else312
{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'> </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
else322
{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'> </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
else332
{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'> </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
else342
{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'> </td>\n");347
sbTypeNav.Append("<td width='77'> </td>\n</tr>\n </table>"); 348
return sbTypeNav.ToString();349
}
浙公网安备 33010602011771号