ASP.NET動態網站開發培訓-35.互動論壇製作(三、完善主題列表頁面)

人生不再重來發表於2014-11-16

第三十五講:互動論壇製作(三、完善主題列表頁面)

課程安排:

將主題的狀態用圖示顯示

設定超連結欄位

在主題欄位中加入NEW及HOT的圖示

控制NEW及HOT圖示顯示的邏輯


將主題的狀態用圖示顯示

1.在GridView中編輯列,新增ImageField欄位

2.設定ImageField欄位的屬性

DataImageUrlField:main_important

DataImageUrlFieldFormatString : ~/images/{0}

設定GridView列的寬度: 智慧標記|編輯列|選中列|調整樣式選項卡中的ItemStyle|Width,設定列的列寬。

設定釋出時間只顯示日期,需設定兩個地方。編輯日期列,設定DataFormatString為{0:d},設定HtmlEncode為false


設定超連結欄位

新增HyperLinkField欄位。

設定DataNavigateUrlFields和DataNavigateUrlFormatString以及DataTextField欄位。



在主題欄位中加入NEW及HOT的圖示

1.在GridView的智慧標記—>編輯列中,將主題欄位轉換為TemplateField。

2.在GridView的智慧標記中,編輯模板。在ItemTemplate中,拖入兩個Image控制元件,用於顯示Hot和New。分別設定兩個 Image控制元件的ImageUrl顯示為New和Hot。



控制NEW及HOT圖示顯示的邏輯

近三天之內的顯示為New。

回覆次數超過5次的話顯示Hot。


DataBound發生在GridView資料繫結發生之後。


在GridView1的DataBound事件中,加入如下程式碼:

    protected void GridView1_DataBound(object sender, EventArgs e)
    {
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            DateTime dt = Convert.ToDateTime(GridView1.Rows[i].Cells[5].Text);
            if (dt.AddDays(3) < DateTime.Today)
            {
                Image img1 = (Image)GridView1.Rows[i].FindControl("Image3");
                img1.Visible = false;
            }

            if (Convert.ToInt32(GridView1.Rows[i].Cells[4].Text) < 5)
            {
                Image img2 = (Image)GridView1.Rows[i].FindControl("Image4");
                img2.Visible = false;
            }
        }
    }

相關文章