[英]Asp.net Dictionary - Replace hard coded values with database values
我正在嘗試實現此標簽雲: http : //thetagcloud.codeplex.com/
...並且我需要將下面的硬編碼值替換為來自數據庫的硬編碼值?
<%= new TagCloud( new Dictionary<string, int> {
{"C#", 58},
{"ASP.NET", 45},
{"VB.NET", 36},
{"AJAX", 24},
{"LINQ", 13}
},
new TagCloudGenerationRules
{
TagToolTipFormatString = "Tag weight: {0}",
TagUrlFormatString = "search.aspx?p=1&tag={0}"
}) %>
我創建了以下sql字符串,該字符串以預期的string / int或value / key格式返回數據
SELECT Tag, COUNT(Tag) AS Counter
FROM dbo.CtagCloud
GROUP BY Tag
HAVING (COUNT(Tag) > 3)
ORDER BY Counter DESC
嗯,我的外觀非常簡潔,只是瀏覽了示例代碼。 我懷疑您需要傳遞數組(值對)而不是字符串。
只需遍歷返回的每個記錄,然后將其添加到數組中即可。 然后將該數組傳遞給TagCloud對象。
這是我的數據訪問代碼
// SQL Select Command
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand mySqlSelect = new SqlCommand("SELECT TOP (100) PERCENT Tag, COUNT(Tag) AS Counter FROM dbo.CtagCloud GROUP BY Tag HAVING (COUNT(Tag) > 3) ORDER BY Counter DESC", conn);
mySqlSelect.CommandType = CommandType.Text;
SqlDataAdapter mySqlAdapter = new SqlDataAdapter(mySqlSelect);
DataSet myDataSet = new DataSet();
mySqlAdapter.Fill(myDataSet);
// create an instance for ArrayList
ArrayList myArrayList = new ArrayList();
// foreach loop to read each DataRow of DataTable stored inside the DataSet
foreach (DataRow dRow in myDataSet.Tables[0].Rows)
{
// add DataRow object to ArrayList
myArrayList.Add(dRow);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.