2008-11-14 16 views
0

저는 회사의 직원을 보여주는 작은 페이지를 작성하고 있습니다. 우리 데이터베이스에서 정보를 가져 오기위한 쿼리를 작성했습니다. 그런 다음 GridView에 바인딩하여 더러운 작업을 수행합니다. 다음은 쿼리입니다. 당신이 볼 수 있듯이<대신 ASP.NET에서 렌더링 <

"SELECT tblEmpID.empid AS [Empl ID], tblEmpID.posno AS [Pos #], [name] & ""<br />"" & [jcn] & ""("" & [jcc] & "")"" AS [Name/Job], [orgno] & "" - "" & [depname] AS Department, tblEmpID.[status] AS Status " & _ 
     "FROM tblEmpID " & _ 
     "ORDER BY [orgno] & "" - "" & [depname], tblEmpID.name " 

, 나는 그것이 렌더링 할 때 그래서 같이 할 SQL 내부
을 포함하기 위해 노력하고있어 :

Name 
Job Description 

을하지만 렌더링 할 때 그것은

&lt; and &gt; 
로 렌더링

효과적으로 원하는대로 서식을 지정하는 대신 < br/>을 레코드에 표시합니다.

내가 원하는대로 렌더링하는 방법? 나는 이미 <을 이스케이프 해봤지만 \ 작동하지 않았다.


편집 : 감사 gfrizzle. 당신의 대답은 나를 올바른 길로 인도했습니다. 또한 NYSystemsAnalyst에 감사드립니다. 귀하의 대답은 미래에 다른 일을 할 수있는 다른 방법을 생각하게 해주었습니다. 궁극적으로 다른 해결책을 찾았습니다. GridView1_RowDataBound 이벤트에이 코드를 삽입하면 필요한 코드가 실행됩니다.

If e.Row.RowType = DataControlRowType.DataRow Then 
     Dim cells As TableCellCollection = e.Row.Cells 

     For Each cell As TableCell In cells 
      cell.Text = Server.HtmlDecode(cell.Text) 
     Next 
    End If 

답변

0

읽기 전용으로 작업하는 경우 리피터 컨트롤을 사용하는 것이 좋습니다. 그런 다음이를 별도의 필드로 리턴하여 SQL 결과 세트에서 HTML을 제거 할 수 있습니다. 그런 다음 컨트롤의 ItemTemplate을 사용하여 HTML을 지정하고 정확하게 결과를 표시 할 방법을 지정할 수 있습니다. 테이블에 배치하고 BR 태그를 사용할 수 있습니다. 이는 그리드와 비슷하지만 HTML/.aspx 측의 레이아웃을보다 잘 제어 할 수 있습니다.

1

GridView의 열에서 HtmlEncode = "False"로 설정해보십시오. 마크 업 인코딩을 중단해야합니다.