Hiển thị bài viết đại diện và list các tiêu đề các bài viết mới - asp.nethmweb- Trong bài viết này tôi sẽ minh họa cho các bạn cách hiển thị tiêu đề, ảnh đại diện, tóm tắt của bài viết m
Trang 1Hiển thị bài viết đại diện và list các tiêu đề các bài viết mới - asp.net
hmweb- Trong bài viết này tôi sẽ minh họa cho các bạn cách hiển thị tiêu đề, ảnh đại diện, tóm tắt của bài viết mới nhất làm đại diện sau đó list danh sách các bài viết tiếp theo Đây là thủ thuật yêu cầu của thành viên trong diễn đàn
Kết quả hiển thị của thủ thuật yêu cầu này như sau:
Ở đây là truy vấn danh sách 5 bài viết mới nhất với bài viết mới nhất sẽ hiển thị ảnh đại diện, tiêu đề và nội dung tóm tắt 4 bài viết còn lại sẽ được liệt kê theo dạng liên kết Trong bài viết này tôi vẫn lấy cơ sở dữ liệu của bài viết Tạo Slide trình diễn bài viết với asp.net, csharp - jquery
Và cơ sở dữ liệu SQL server làm mẫu
Thực hiện:
+ Trang asp.net bạn cần có một Literal để hiển thị nội dung:
<asp:Literal ID="Literal1" runat="server" />
Giờ trong code bạn viết các hàm như sau:
1 Hàm thực thi một câu lệnh truy vấn và trả về một DataTable
private DataTable QueryToDataTable(string strSQL)
{
DataTable dtbTmp = new DataTable();
string connString = @"Server =.\SQL2005;Initial Catalog=DemoSlide;User ID=sa;Password=sa";
SqlConnection conn = new SqlConnection(connString);
try
{
conn.Open(); // Mở kết nối
SqlDataAdapter da = new SqlDataAdapter(strSQL, conn); // Tạo một Adapter
DataSet ds = new DataSet();// Tạo DataSet
da.Fill(ds, "GetData");// Đổ dữ liệu DataSet
dtbTmp = ds.Tables[0];// Tạo DataTable từ dataSet
}
catch (Exception e)
{
Trang 2Console.WriteLine(e.Message);// Bắt lỗi
}
finally
{
conn.Close();// Đóng kết nối
}
return dtbTmp;
}
2 Hàm truy vấn và lấy dữ liệu cần hiển thị
private string LoadData()
{
string strHTML = "", strAnhDaiDien = "";
DataTable dtb = QueryToDataTable("Select Top 5 TieuDe, DienGiai, NoiDung, AnhDaiDien From TB_BaiViet order by idBaiViet desc");
if (dtb.Rows.Count > 0)
{
strHTML += "<table cellpadding='0' cellspacing='0' class='BaoFrame'>"; for (int i = 0; i < dtb.Rows.Count; i++ )
{
if (i == 0)
{
if (dtb.Rows[0]["AnhDaiDien"].ToString() == "")
{
strAnhDaiDien = "Uploads/link_n_img.gif";
}
else strAnhDaiDien = dtb.Rows[0]["AnhDaiDien"].ToString(); strHTML += @" <tr>
<td>
<img src='" + strAnhDaiDien + @"' witdh='120px' height='100px'/>
</td>
<td valign='top' style='padding-left:5px'
align='justify'>
<a href='http://hmweb.com.vn'><b> " + dtb.Rows[0] ["TieuDe"].ToString() + @"</b></a><br>
" + dtb.Rows[0]["DienGiai"].ToString() + @" </td>
</tr>";
}
else
{
strHTML += @"
<tr>
<td colspan='2'>
<a href='http://hmweb.com.vn'>
<img src='Uploads/note.gif' border='0'>
" + dtb.Rows[i]["TieuDe"].ToString() + @"</a> </td>
</tr>";
}
}
}
strHTML += "</table>";
Trang 3return strHTML;
}
Trong hàm Page_Load bạn cần code hiển thị như sau Literal1.Text = LoadData();
Với hàm này bạn chú ý: strAnhDaiDien = "Uploads/link_n_img.gif"; Nếu bài viết không có ảnh đại diện sẽ hiển thị ảnh link_n_img.gif.
Ngoài ra bạn cần các Style sheet để trình bày dữ liệu, Các style sheet và source code +
Database này bạn có thể download tại đây Nội dung bài viết này là trang Demo_ListNews.aspx (trong source code)