0
我試圖通過日期獲取blogpost以構建存檔,更具體地說,我希望數據按年份的月份呈現,例如, 2012年7月,2012年8月等。哦,考慮我是一個新手。按特定日期獲取數據以在ListView中呈現
數據由呈現標籤中的日期的ListView檢索,然後將標籤文本(例如Juni,2012)轉發給我正在努力處理的代碼隱藏中的新SP。我試圖檢查與我的日期字段與LIKE子句的參數,但不知何故,我得到兩個六月七月當我嘗試與參數「juli」的SP。它與數據類型有點混淆,我不知道在這種情況下使用什麼。
SP: 我已經離開參數數據類型的長度,它給我任何數據,如果長度定義,應該是10。我也試圖從表中將日期時間轉換爲有點類似的字符串@Date我有點迷失在這裏,不熟悉LIKE子句,所以請考慮我在這個新手。
@Date varchar
AS
BEGIN
SELECT A.ArticleID, A.Name, A.Header, A.Article, A.Date,
C.Category, C.CategoryID,
M.FirstName + ' ' + M.LastName as 'Author', A.ArticleLevel
FROM Article as A
LEFT JOIN Category as C on A.CategoryID = C.CategoryID
LEFT JOIN Member as M ON A.MemberID = M.MemberID
WHERE CONVERT(VARCHAR(4), a.Date, 100) + CONVERT(VARCHAR(4), a.Date, 120) LIKE @Date + '%'
ORDER BY A.Date, A.ArticleLevel Asc
END
exec [usp_GetArticlesForArticleDates] 'juli'
C#: 的 「ArchiveArticlesListView」 是嵌套的ListView控件呈現爲特定日期的文章。
protected void ArchiveListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
var articleId = (int)ArchiveListView.DataKeys[e.Item.DataItemIndex].Value;
//var dateParam = (int)ArchiveListView.DataKeys[e.Item.DataItemIndex].Value; // Tried to use the DataKey for Date and convert it to char, but that only left me with values like "309 j"
var DateLabel = e.Item.FindControl("DateLabel") as Label;
var date = DateLabel.Text;
var articlesLV = e.Item.FindControl("ArchiveArticlesListView") as ListView;
articlesLV.DataSource = Service.GetArticleArchive(date);
articlesLV.DataBind();
}
}