2014-01-31 2 views
4

Я искал об этом много в google. Но я понятия не имел. Спасибо вам всем заблаговременно.Как связать html с столбцом Gridview?

Вопрос: У меня есть источник html в моем datatable column.when он связывается с моим gridview, мне нужно показать этот вывод html в моем столбце gridview. Это возможно ?

выходной ток:

enter image description here

Мой код ASPX:

protected void Page_Load(object sender, EventArgs e) 
{ 
    DataTable dtEmployees = new DataTable(); 
    dtEmployees.Columns.Add(new DataColumn("FirstName", typeof(System.String))); 
    dtEmployees.Columns.Add(new DataColumn("LastName", typeof(System.String))); 
    dtEmployees.Columns.Add(new DataColumn("HomePhone", typeof(System.String))); 
    dtEmployees.Columns.Add(new DataColumn("CellPhone", typeof(System.String))); 
    dtEmployees.Columns.Add(new DataColumn("Address", typeof(System.String))); 

    DataRow drEmpDetail = dtEmployees.NewRow(); 
    drEmpDetail["FirstName"] = "Tony"; 
    drEmpDetail["LastName"] = "Greg"; 
    drEmpDetail["HomePhone"] = "000-000-0000"; 
    drEmpDetail["CellPhone"] = "000-000-0000"; 
    drEmpDetail["Address"] = "Lane 1 Suite # 2 <br>"; 
    } 

Просто, например, в колонке Address я дал HTML тег для «разрыва тега ". Но на выходе он просто отображается как строка, результат не такой, как ожидалось.

Примечание: Я не хочу использовать поле Шаблон вместо BoundField.

+0

вы возражаете с помощью JQuery? – naveen

ответ

4

Попробуйте использовать - HttpUtility.HtmlDecode("Lane 1 Suite # 2 <br>")

Разметка будет,

<asp:TemplateField HeaderText="Address"> 
    <ItemTemplate> 
     <%# HttpUtility.HtmlDecode(Eval("Address").ToString()) %> 
    </ItemTemplate> 
</asp:TemplateField> 

Ref: http://msdn.microsoft.com/en-us/library/7c5fyk1k.aspx

0

Вы можете использовать HttpUtility.HtmlDecode

Если вы используете .NET 4.0+ вы также можете использовать WebUtility.HtmlDecode, который не требует дополнительной ссылки на сборку, как он доступен в пространстве имен System.Net.

3

Установите HtmlEncode ложь в вашей собственности bounfield

<asp:BoundField HeaderText="Address" DataField="YourDataField" HtmlEncode="false" /> 

BoundField HTML Encode Property MSDN

+0

Это будет выход HTML. Нет @Damien, это не будет – naveen

0

Дизайн ваш GridView как этот

<asp:GridView runat="server" ID="gv1" AutoGenerateColumns="false"> 
     <Columns> 
      <asp:BoundField HeaderText="FirstName" DataField="FirstName" /> 
      <asp:BoundField HeaderText="LastName" DataField="LastName" /> 
      <asp:BoundField HeaderText="HomePhone" DataField="HomePhone" /> 
      <asp:BoundField HeaderText="CellPhone" DataField="CellPhone" /> 
      <asp:BoundField HeaderText="Address" DataField="Address" HtmlEncode="false" /> 
     </Columns> 
    </asp:GridView> 
Смежные вопросы