2013-09-12 2 views
0

Итак, вот код, и у меня есть следующая проблема: я не знаю, как создать объект гиперссылки для столбца.Как добавить гиперссылку в gridview вручную

DataTable dt = new DataTable(); 
DataRow dr = null; 
dt.Columns.Add(new DataColumn("Име на настанот", typeof(string))); 
dt.Columns.Add(new DataColumn("Информации за настанот", typeof(string))); 
dt.Columns.Add(new DataColumn("Локација", typeof(string))); 
dt.Columns.Add(new DataColumn("Време и датум на настанот", typeof(string))); 
dt.Columns.Add(new DataColumn("Измени", typeof(HyperLink))); 
dt.Columns.Add(new DataColumn("Бриши", typeof(string))); 


foreach (Google.GData.Calendar.EventEntry entry in calFeed.Entries) 
{ 
    HyperLink a = new HyperLink(); 
    a.NavigateUrl = "aaa"; 
    dr = dt.NewRow(); 
    dr["Име на настанот"] = entry.Title.Text.ToString(); 
    dr["Информации за настанот"] = entry.Content.Content.ToString(); 
    dr["Локација"] = entry.Locations[0].ValueString.ToString(); 
    dr["Време и датум на настанот"] = "Почеток: " + entry.Times[0].StartTime.ToString() + " Крај: " + entry.Times[0].EndTime.ToString(); 
    dr["Измени"] = a.NavigateUrl; //what to add here how to add a hyperlink 
    dt.Rows.Add(dr); 

    ViewState["CurrentTable"] = dt; 
    GridView1.DataSource = dt; 
    GridView1.DataBind(); 
} 

Ошибка я получаю:

XML-элемент 'EnableTheming' из пространства имен '' уже присутствует в текущей области. Используйте атрибуты XML, чтобы указать другое имя XML или пространство имен для элемента.

ответ

2

сделать этот столбец обычную строку:

dt.Columns.Add(new DataColumn("Измени", typeof(String))); 

Тогда вы можете просто присвоить HTML-код ссылки:

dr["Измени"] = "<a href='aaa'>Click Here</a>"; 
+0

Ну, я уже пробовал это, и он не работает. Он отображается как текст. –

+1

Установите свойство HTMLEncode для этого столбца GridView в значение False: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.htmlencode.aspx –

+0

Столбцы GridView, которые вы можете видеть, вручную создано. –

0

Вы, возможно, придется использовать событие RowDataBound. Или используйте < asp: TemplateField > в вашей сетке, таким образом вы можете добавить пользовательский html в столбец.

Смежные вопросы