天天看點

打造屬于自己的部落格 - Asp.net三層架構

打造屬于自己的部落格 - Asp.net三層架構
打造屬于自己的部落格 - Asp.net三層架構

   喜歡開源的東西,是以這次也就準備試一試,在前幾期的博文中已經介紹了幾個部落格建站的必備功能的代碼學習過程。這裡就不多陳述了,接下來就直接進入三層的編寫,表現層,業務邏輯層,資料層大家應該很熟悉了吧,如果不清楚這個過程的,百度一下,這裡就不做陳述了。

下面是三層的代碼和邏輯引用。舉一例,使用者資訊的三層代碼:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<code>using</code> <code>System;</code>

<code>using</code> <code>System.Collections.Generic;</code>

<code>using</code> <code>System.Linq;</code>

<code>using</code> <code>System.Text;</code>

<code>namespace</code> <code>Model</code>

<code>{</code>

<code>    </code><code>public</code> <code>class</code> <code>L_User</code>

<code>    </code><code>{</code>

<code>        </code><code>#region  執行個體化使用者&amp;管理者的主要字段</code>

<code>        </code><code>public</code> <code>int</code> <code>UID { </code><code>get</code><code>; </code><code>set</code><code>; }</code>

<code>        </code><code>public</code> <code>string</code> <code>Author { </code><code>get</code><code>; </code><code>set</code><code>; }</code>

<code>        </code><code>public</code> <code>string</code> <code>UUserPwd { </code><code>get</code><code>; </code><code>set</code><code>; }</code>

<code>        </code><code>public</code> <code>string</code> <code>UEmail { </code><code>get</code><code>; </code><code>set</code><code>; }</code>

<code>        </code><code>public</code> <code>DateTime UCreateTime { </code><code>get</code><code>; </code><code>set</code><code>; }</code>

<code>        </code><code>public</code> <code>string</code> <code>UUserRole { </code><code>get</code><code>; </code><code>set</code><code>; }</code>

<code>        </code><code>#endregion</code>

<code>    </code><code>}</code>

<code>}</code>

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

<code>using</code> <code>Model;</code>

<code>using</code> <code>System.Data.SqlClient;</code>

<code>using</code> <code>System.Data;</code>

<code>namespace</code> <code>DAL</code>

<code>    </code><code>public</code> <code>class</code> <code>UserDAL</code>

<code>        </code><code>//添加使用者</code>

<code>        </code><code>public</code> <code>int</code> <code>AddUser(L_User user)</code>

<code>        </code><code>{</code>

<code>            </code><code>try</code>

<code>            </code><code>{</code>

<code>                </code><code>int</code> <code>i = DBHelper.executeSql(</code><code>"insert into L_User(Author,UUserPwd,UEmail,UCreateTime,UUserRole) values(@Author,@UUserPwd,@UEmail,@UCreateTime,@UUserRole)"</code><code>,</code>

<code>                    </code><code>new</code> <code>SqlParameter(</code><code>"@Author"</code><code>, user.Author), </code><code>new</code> <code>SqlParameter(</code><code>"@UUserPwd"</code><code>, user.UUserPwd),</code>

<code>                    </code><code>new</code> <code>SqlParameter(</code><code>"@UEmail"</code><code>, user.UEmail), </code><code>new</code> <code>SqlParameter(</code><code>"@UCreateTime"</code><code>, user.UCreateTime),</code>

<code>                    </code><code>new</code> <code>SqlParameter(</code><code>"@UUserRole"</code><code>, user.UUserRole));</code>

<code>                </code><code>return</code> <code>i;</code>

<code>            </code><code>}</code>

<code>            </code><code>catch</code> <code>(Exception ee)</code>

<code>                </code><code>throw</code> <code>new</code> <code>Exception(ee.Message);</code>

<code>        </code><code>}</code>

<code>        </code><code>//修改user</code>

<code>        </code><code>public</code> <code>int</code> <code>UpdateUser(</code><code>int</code> <code>UID, </code><code>string</code> <code>Author, </code><code>string</code> <code>UUserPwd, </code><code>string</code> <code>UEmail, DateTime UCreateTime, </code><code>string</code> <code>UUserRole)</code>

<code>            </code><code>int</code> <code>i = DBHelper.executeSql(</code><code>"update L_User set Author=@Author,UUserPwd=@UUserPwd,UEmail=@UEmail, UCreateTime=@UCreateTime,UUserRole=@UUserRole where UID=@UID"</code><code>,</code>

<code>                </code><code>new</code> <code>SqlParameter(</code><code>"@UID"</code><code>, UID),</code>

<code>                </code><code>new</code> <code>SqlParameter(</code><code>"@Author"</code><code>, Author),</code>

<code>                </code><code>new</code> <code>SqlParameter(</code><code>"@UUserPwd"</code><code>, UUserPwd),</code>

<code>                </code><code>new</code> <code>SqlParameter(</code><code>"@UEmail"</code><code>, UEmail),</code>

<code>                </code><code>new</code> <code>SqlParameter(</code><code>"@UCreateTime"</code><code>, UCreateTime),</code>

<code>                </code><code>new</code> <code>SqlParameter(</code><code>"@UUserRole"</code><code>, UUserRole));</code>

<code>            </code><code>return</code> <code>i;</code>

<code>        </code><code>//删除user</code>

<code>        </code><code>public</code> <code>int</code> <code>DeleteUser(</code><code>int</code> <code>UID)</code>

<code>            </code><code>int</code> <code>i = DBHelper.executeSql(</code><code>"delete from L_User where UID=@UID "</code><code>, </code><code>new</code> <code>SqlParameter(</code><code>"@UID"</code><code>, UID));</code>

<code>        </code><code>//單獨的一條user資訊</code>

<code>        </code><code>public</code> <code>L_User get_singleUser(</code><code>int</code> <code>UID)</code>

<code>            </code><code>DataSet ds = DBHelper.dataset(</code><code>"select * from L_User where UID=@UID "</code><code>, </code><code>new</code> <code>SqlParameter(</code><code>"@UID"</code><code>, UID));</code>

<code>            </code><code>L_User lu = </code><code>new</code> <code>L_User();</code>

<code>            </code><code>if</code> <code>(ds != </code><code>null</code><code>)</code>

<code>                </code><code>lu.UID = Convert.ToInt32(ds.Tables[0].Rows[0][</code><code>"UID"</code><code>].ToString());</code>

<code>                </code><code>lu.Author = ds.Tables[0].Rows[0][</code><code>"Author"</code><code>].ToString();</code>

<code>                </code><code>lu.UUserPwd = ds.Tables[0].Rows[0][</code><code>"UUserPwd"</code><code>].ToString();</code>

<code>                </code><code>lu.UEmail = ds.Tables[0].Rows[0][</code><code>"UEmail"</code><code>].ToString();</code>

<code>                </code><code>lu.UCreateTime = Convert.ToDateTime(ds.Tables[0].Rows[0][</code><code>"UCreateTime"</code><code>].ToString());</code>

<code>                </code><code>lu.UUserRole = ds.Tables[0].Rows[0][</code><code>"UUserRole"</code><code>].ToString();</code>

<code>                </code><code>return</code> <code>lu;</code>

<code>            </code><code>else</code>

<code>                </code><code>return</code> <code>null</code><code>;</code>

<code>        </code><code>//單獨的一條user資訊2</code>

<code>        </code><code>public</code> <code>L_User get_singleUser(</code><code>string</code> <code>name)</code>

<code>            </code><code>DataSet ds = DBHelper.dataset(</code><code>"select * from L_User where Author=@Author "</code><code>, </code><code>new</code> <code>SqlParameter(</code><code>"@Author"</code><code>, name));</code>

<code>            </code><code>if</code> <code>(ds != </code><code>null</code> <code>&amp;&amp; ds.Tables[0].Rows.Count &gt; 0)</code>

<code>        </code><code>// 擷取所有使用者的清單資訊</code>

<code>        </code><code>public</code> <code>DataSet GetUserGroupList2(</code><code>string</code> <code>sqlstr)</code>

<code>            </code><code>string</code> <code>cmdText = </code><code>"select * from L_User where 1=1 "</code><code>;</code>

<code>            </code><code>if</code> <code>(sqlstr != </code><code>""</code><code>)</code>

<code>                </code><code>cmdText += sqlstr;</code>

<code>            </code><code>return</code> <code>DBHelper.getDataSet(cmdText);</code>

<code>        </code><code>//修改密碼</code>

<code>        </code><code>public</code> <code>int</code> <code>UpdateUS(</code><code>string</code> <code>UUserPwd)</code>

<code>            </code><code>int</code> <code>i = DBHelper.executeSql(</code><code>@" update L_User set UUserPwd=@UUserPwd ;"</code><code>, </code><code>new</code> <code>SqlParameter(</code><code>"@UUserPwd"</code><code>, UUserPwd));</code>

<code>        </code><code>//檢查登入(此方法有誤)</code>

<code>        </code><code>public</code> <code>int</code> <code>CheckLogin(</code><code>string</code> <code>Author, </code><code>string</code> <code>UUserPwd)</code>

<code>                </code><code>int</code> <code>i = Convert.ToInt32(DBHelper.executeScalar(</code><code>"select count(*) from L_User where Author=@Author and UUserPwd=@UUserPwd "</code><code>, </code><code>new</code> <code>SqlParameter(</code><code>"@Author"</code><code>, Author), </code><code>new</code> <code>SqlParameter(</code><code>"@UUserPwd"</code><code>, UUserPwd)));</code>

<code>        </code><code>//驗證使用者的角色</code>

<code>        </code><code>public</code> <code>L_User checkAuthor(</code><code>string</code> <code>Author)</code>

<code>            </code><code>DataSet ds = DBHelper.dataset(</code><code>"select * from L_User where Author=@Author "</code><code>, </code><code>new</code> <code>SqlParameter(</code><code>"@Author"</code><code>, Author));</code>

<code>                </code><code>L_User LU = </code><code>new</code> <code>L_User();</code>

<code>                </code><code>LU.UUserRole = ds.Tables[0].Rows[0][</code><code>"UUserRole"</code><code>].ToString();</code>

<code>                </code><code>return</code> <code>LU;</code>

<code>        </code><code>//驗證使用者是否相同</code>

<code>        </code><code>public</code> <code>int</code> <code>CheckUser(</code><code>string</code> <code>Author)</code>

<code>                </code><code>int</code> <code>i = Convert.ToInt32(DBHelper.executeScalar(</code><code>"select count(*) from L_User where Author=@Author"</code><code>, </code><code>new</code> <code>SqlParameter(</code><code>"@Author"</code><code>, Author)));</code>

<code>        </code><code>//驗證舊密碼是否相同</code>

<code>        </code><code>public</code> <code>L_User Checkjiu(</code><code>string</code> <code>Author)</code>

<code>            </code><code>L_User LU = </code><code>new</code> <code>L_User();</code>

<code>            </code><code>LU.UUserPwd = ds.Tables[0].Rows[0][</code><code>"UUserPwd"</code><code>].ToString();</code>

<code>            </code><code>return</code> <code>LU;</code>

<code>using</code> <code>DAL;</code>

<code>namespace</code> <code>BLL</code>

<code>    </code><code>public</code> <code>class</code> <code>UserService</code>

<code>        </code><code>/// &lt;summary&gt;</code>

<code>        </code><code>/// 添加使用者</code>

<code>        </code><code>/// &lt;/summary&gt;</code>

<code>        </code><code>/// &lt;param name="user"&gt;&lt;/param&gt;</code>

<code>        </code><code>/// &lt;returns&gt;&lt;/returns&gt;</code>

<code>            </code><code>UserDAL userDal = </code><code>new</code> <code>UserDAL();</code>

<code>            </code><code>return</code> <code>userDal.AddUser(user);</code>

<code>        </code><code>/// 修改user</code>

<code>        </code><code>/// &lt;param name="UID"&gt;&lt;/param&gt;</code>

<code>        </code><code>/// &lt;param name="BlogTiltle"&gt;&lt;/param&gt;</code>

<code>        </code><code>/// &lt;param name="BlogContent"&gt;&lt;/param&gt;</code>

<code>        </code><code>/// &lt;param name="CreateTime"&gt;&lt;/param&gt;</code>

<code>        </code><code>/// &lt;param name="Recommand"&gt;&lt;/param&gt;</code>

<code>            </code><code>UserDAL uDAL = </code><code>new</code> <code>UserDAL();</code>

<code>            </code><code>return</code> <code>uDAL.UpdateUser(UID, Author, UUserPwd, UEmail, UCreateTime, UUserRole);</code>

<code>        </code><code>/// 删除user</code>

<code>        </code><code>/// &lt;param name="ID"&gt;&lt;/param&gt;</code>

<code>            </code><code>return</code> <code>uDAL.DeleteUser(UID);</code>

<code>        </code><code>/// 擷取所有使用者的資訊清單</code>

<code>            </code><code>UserDAL ugDAL = </code><code>new</code> <code>UserDAL();</code>

<code>            </code><code>return</code> <code>ugDAL.GetUserGroupList2(sqlstr);</code>

<code>        </code><code>/// 單獨的一條使用者資訊</code>

<code>            </code><code>return</code> <code>uDAL.get_singleUser(UID);</code>

<code>        </code><code>/// 查找login使用者名,實作登入的安全驗證</code>

<code>        </code><code>/// &lt;param name="name"&gt;&lt;/param&gt;</code>

<code>        </code><code>public</code> <code>L_User get_singleUser(</code><code>string</code>  <code>name)</code>

<code>            </code><code>return</code> <code>uDAL.get_singleUser(name);</code>

<code>        </code><code>/// 修改密碼</code>

<code>        </code><code>/// &lt;param name="AUserPwd"&gt;&lt;/param&gt;</code>

<code>            </code><code>return</code> <code>uDAL.UpdateUS(UUserPwd);</code>

<code>        </code><code>/// 檢查登入(此方法有誤)</code>

<code>        </code><code>/// &lt;param name="Author"&gt;&lt;/param&gt;</code>

<code>        </code><code>/// &lt;param name="UUserPwd"&gt;&lt;/param&gt;</code>

<code>        </code><code>/// &lt;param name="UUserRole"&gt;&lt;/param&gt;</code>

<code>            </code><code>return</code> <code>userDal.CheckLogin(Author, UUserPwd);</code>

<code>        </code><code>/// 檢查使用者權限</code>

<code>            </code><code>return</code> <code>userDal.checkAuthor(Author);</code>

<code>        </code><code>/// 檢查使用者名</code>

<code>        </code><code>/// &lt;param name="LoginName"&gt;&lt;/param&gt;</code>

<code>            </code><code>return</code> <code>userDal.CheckUser(Author);</code>

<code>        </code><code>/// 驗證舊密碼是否相同</code>

<code>            </code><code>return</code> <code>uDAL.Checkjiu(Author);</code>

接下來我們就可以開始在web頁面cs中開始我們的功能調用了,實作編輯功能的一部分代碼如下,PS:驗證input的

話建議大家多寫一些,JS在前台,本頁面的驗證,以及伺服器端的驗證,保證資訊的安全性,養成好習慣。

<code>protected</code> <code>void</code> <code>ImageButton1_Click(</code><code>object</code> <code>sender, ImageClickEventArgs e)</code>

<code>            </code><code>if</code><code>(TextBox1.Text.Trim().ToString() ==</code><code>""</code><code>)</code>

<code>                </code><code>lblMessage.Text = </code><code>"&lt;font color=\"red\" size=\"2\"&gt;請輸入使用者名&lt;/font&gt;"</code><code>;</code>

<code>                </code><code>NormalMethod.Show(</code><code>this</code><code>, </code><code>"請完整填寫使用者的資訊"</code><code>);</code>

<code>                </code><code>return</code><code>;</code>

<code>            </code><code>if</code> <code>(pwd.Text.Trim().ToString() == </code><code>""</code><code>)</code>

<code>                </code><code>lblMessage.Text = </code><code>"&lt;font color=\"red\" size=\"2\"&gt;請輸入使用者密碼&lt;/font&gt;"</code><code>;</code>

<code>            </code><code>if</code> <code>(TextBox3.Text.Trim().ToString() == </code><code>""</code><code>)</code>

<code>                </code><code>lblMessage.Text = </code><code>"&lt;font color=\"red\" size=\"2\"&gt;請輸入使用者郵箱&lt;/font&gt;"</code><code>;</code>

<code>            </code><code>if</code> <code>(ddlGroup.SelectedIndex == 0)</code>

<code>                </code><code>lblMessage.Text = </code><code>"&lt;font color=\"red\" size=\"2\"&gt;請輸入使用者組&lt;/font&gt;"</code><code>;</code>

<code>            </code><code>if</code> <code>(my97.Value.ToString() == </code><code>""</code><code>)</code>

<code>                </code><code>lblMessage.Text = </code><code>"&lt;font color=\"red\" size=\"2\"&gt;請輸入正确的日期格式&lt;/font&gt;"</code><code>;</code>

<code>            </code><code>UserService uService = </code><code>new</code> <code>UserService();</code>

<code>            </code><code>if</code> <code>(editor == </code><code>"edit"</code><code>)</code>

<code>                </code><code>int</code> <code>i = uService.UpdateUser(Convert.ToInt32(Session[</code><code>"UID"</code><code>].ToString()), TextBox1.Text.ToString(), pwd.Text.ToString(), TextBox3.Text.ToString(), DateTime.Now, ddlGroup.Text.ToString());</code>

<code>                </code><code>if</code> <code>(i &gt; 0)</code>

<code>                </code><code>{</code>

<code>                    </code><code>NormalMethod.ShowAndRedirect(</code><code>this</code><code>, </code><code>"修改成功!(*^__^*)"</code><code>, </code><code>"UserGuan.aspx"</code><code>);</code>

<code>                    </code><code>editor = </code><code>null</code><code>;</code>

<code>                </code><code>}</code>

<code>                </code><code>else</code>

<code>                    </code><code>NormalMethod.ShowAndRedirect(</code><code>this</code><code>, </code><code>"修改失敗!#(┬_┬)我的錯,我改還不行嗎?"</code><code>, </code><code>"UserGuan.aspx"</code><code>);</code>

<code>                </code><code>TextBox1.ReadOnly = </code><code>false</code><code>;</code>

<code>                </code><code>TextBox3.ReadOnly = </code><code>false</code><code>;</code>

<code>                </code><code>my97.Visible = </code><code>true</code><code>;</code>

<code>                </code><code>L_User lu = </code><code>new</code> <code>L_User();</code>

<code>                </code><code>lu.Author = TextBox1.Text.ToString();</code>

<code>                </code><code>lu.UUserPwd = pwd.Text.ToString();</code>

<code>                </code><code>lu.UEmail = TextBox3.Text.ToString();</code>

<code>                </code><code>lu.UUserRole = ddlGroup.SelectedValue.ToString();</code>

<code>                </code><code>lu.UCreateTime =Convert.ToDateTime(my97.Value.ToString());</code>

<code>                </code><code>int</code> <code>j = uService.AddUser(lu);</code>

<code>                </code><code>if</code> <code>(j &gt; 0)</code>

<code>                    </code><code>NormalMethod.ShowAndRedirect(</code><code>this</code><code>, </code><code>"添加成功!(*^__^*)"</code><code>, </code><code>"UserGuan.aspx"</code><code>);</code>

<code>                    </code><code>TextBox1.Text = </code><code>""</code><code>;</code>

<code>                    </code><code>TextBox3.Text = </code><code>""</code><code>;</code>

<code>                    </code><code>my97.Value = </code><code>""</code><code>;</code>

<code>                    </code><code>pwd.Text = </code><code>""</code><code>;</code>

<code>                    </code><code>NormalMethod.ShowAndRedirect(</code><code>this</code><code>, </code><code>"添加失敗!#(┬_┬)我的錯,我改還不行嗎?"</code><code>, </code><code>"UserGuan.aspx"</code><code>);</code>

打造屬于自己的部落格 - Asp.net三層架構

緊接着就是設計其他的網頁所需的業務邏輯功能,如圖,

<a target="_blank" href="http://blog.51cto.com/attachment/201308/024101984.jpg"></a>

背景的四操作把類庫的功能都寫好後就可以很容易的處理前台的問題了。這裡的前台我是用了XML和Repeater的綁定方式。

Repeater的綁定:

<a target="_blank" href="http://blog.51cto.com/attachment/201308/024338389.jpg"></a>

代碼如下:

<code>&lt;asp:Repeater ID=</code><code>"BlogList"</code> <code>runat=</code><code>"server"</code><code>&gt;</code>

<code>                   </code><code>&lt;ItemTemplate&gt;</code>

<code>                       </code><code>&lt;div </code><code>class</code><code>=</code><code>"title"</code><code>&gt;</code>

<code>                           </code><code>&lt;a href=</code><code>'BlogShow.aspx?ID=&lt;%# Eval("ID") %&gt;'</code>

<code>title=</code><code>'&lt;%# Eval("BlogTiltle") %&gt;'</code><code>&gt;</code>

<code>                               </code><code>&lt;%# Eval(</code><code>"BlogTiltle"</code><code>)%&gt;&lt;/a&gt;</code>

<code>                       </code><code>&lt;/div&gt;</code>

<code>                       </code><code>&lt;div&gt;</code>

<code>                           </code><code>&lt;p style=</code><code>"color:Gray"</code><code>&gt;</code>

<code>                               </code><code>&lt;%#BLL.SystemTools.FixLengthString</code>

<code>(BLL.SystemTools.NoHTML(Eval(</code><code>"BlogContent"</code><code>).ToString()),300)%&gt;...</code>

<code>                           </code><code>&lt;a href=</code><code>'BlogShow.aspx?ID=&lt;%# Eval("ID") %&gt;'</code><code>&gt;[檢視全文]&lt;/a&gt;</code>

<code>                           </code><code>&lt;/p&gt;</code>

<code>                                                                                                                                                                                                                                                                                                                                                                     </code> 

<code>                                                                                                                                                                                                                                                                                                                                                           </code> 

<code>                       </code><code>&lt;span style=</code><code>"font-size: small; color: Gray"</code><code>&gt;</code>

<code>浏覽(&lt;%# Eval(</code><code>"Click"</code><code>) %&gt;)</code>

<code>                           </code><code>&amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;釋出時間:</code>

<code>&lt;%# Eval(</code><code>"CreateTime"</code><code>)%&gt;&lt;/span&gt;&lt;br /&gt;&lt;hr style=</code><code>"border: 0.5px Dotted gray"</code> <code>/&gt;</code>

<code>                   </code><code>&lt;/ItemTemplate&gt;</code>

<code>               </code><code>&lt;/asp:Repeater&gt;</code>

<code>                                                                                                                                                                                                                                                                                                                                                                   </code> 

<code>               </code><code>&lt;a  href=</code><code>"bowenList.aspx"</code><code>&gt;檢視全部博文&gt;&gt;&lt;/a&gt;</code>

cs:

<code>protected</code> <code>void</code> <code>Page_Load(</code><code>object</code> <code>sender, EventArgs e)</code>

<code>            </code><code>if</code> <code>(!IsPostBack)</code>

<code>                </code><code>bindRepeater();</code>

<code>        </code><code>//綁定Repeater的内容</code>

<code>        </code><code>protected</code> <code>void</code> <code>bindRepeater()</code>

<code>            </code><code>BlogService blogService = </code><code>new</code> <code>BlogService();</code>

<code>            </code><code>BlogList.DataSource = blogService.getData();</code>

<code>            </code><code>BlogList.DataBind();</code>

接着就是顯示博文的界面了:

<a target="_blank" href="http://blog.51cto.com/attachment/201308/024850990.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201308/024850933.jpg"></a>

3D gallery:

<a target="_blank" href="http://blog.51cto.com/attachment/201308/025636713.jpg"></a>

童話輪播:

<a target="_blank" href="http://blog.51cto.com/attachment/201308/030133847.jpg"></a>

還有最簡單的輪播:

<a target="_blank" href="http://blog.51cto.com/attachment/201308/030319284.jpg"></a>

講到這裡基本上前台要做的就差不多了,對了忘說了,最後我想了想,由于是部落格,是以就加了一個播放器,和XML很好的結合,實作了四操作和播放歌曲的功能,效果圖和代碼如下,

<a target="_blank" href="http://blog.51cto.com/attachment/201308/030553952.jpg"></a>

<a href="http://blog.51cto.com/liangxiao/1270595"></a>

<code>&lt;</code><code>object</code> <code>type=</code><code>"application/x-shockwave-flash"</code>

<code>data="http:</code><code>//service.weibo.com/staticjs/weiboshow.swf?verifier=b92d5ce3&amp;amp;uid=1624424711&amp;amp;</code>

<code>width=230&amp;amp;height=500&amp;amp;fansRow=2&amp;amp;isTitle=1&amp;amp;</code>

<code>isWeibo=1&amp;amp;isFans=1&amp;amp;noborder=0&amp;amp;ptype=1&amp;amp;</code>

<code>colors=cfe1f3,fafcff,444444,5093d5"</code>

<code>width=</code><code>"230"</code> <code>height=</code><code>"500"</code> <code>id=</code><code>"pre_flash"</code> <code>style=</code><code>"visibility: visible;"</code><code>&gt;</code>

<code>                       </code><code>&lt;param name=</code><code>"wmode"</code> <code>value=</code><code>"transparent"</code><code>/&gt;</code>

<code>                       </code><code>&lt;param name=</code><code>"quality"</code> <code>value=</code><code>"high"</code><code>/&gt;</code>

<code>                       </code><code>&lt;param name=</code><code>"bgcolor"</code> <code>value=</code><code>"#FFFFFF"</code><code>/&gt;</code>

<code>                       </code><code>&lt;param name=</code><code>"align"</code> <code>value=</code><code>"L"</code><code>/&gt;</code>

<code>                       </code><code>&lt;param name=</code><code>"scale"</code> <code>value=</code><code>"noborder"</code><code>/&gt;</code>

<code>                       </code><code>&lt;param name=</code><code>"allowScriptAccess"</code> <code>value=</code><code>"sameDomain"</code><code>/&gt;</code>

<code>&lt;/</code><code>object</code><code>&gt;</code>

   到這裡前台的大體功能基本上就差不多了,下面的一些技術我分三期講吧,有點多,已經三點了,大家明天先看着,我會繼續更新,有時間的話。謝謝大家的支援!謝謝莉子姐,米米姐,蘑菇姐,和5CTO一起成長!加油!

本文轉自 吳雨聲 51CTO部落格,原文連結:http://blog.51cto.com/liangxiao/1270595,如需轉載請自行聯系原作者

繼續閱讀