2011-03-15 1 views
1

안녕 ASP.NET 다중 행 텍스트 상자를 사용하여 데이터베이스에 정보를 제출하려고합니다. 나는 다음과 같은 코드가 있습니다ASP.NET 줄 바꿈을 HTML로 바꾸기 br가 작동하지 않습니다.

Dim noteContent As String = Replace(txtNoteContent.InnerText.ToString(), vbCrLf, "<br />") 
Shop.Job.Notes.addNote(Request.QueryString("JobID"), ddlNoteFrom.SelectedValue, ddlNoteTo.SelectedValue, noteContent) 

addNote의 기능 코드는 다음과 같습니다

Public Shared Sub addNote(ByVal JobID As Integer, ByVal NoteFrom As Integer, ByVal NoteTo As Object, ByVal NoteContent As String) 
      Dim newNote As New Job_Note 
      newNote.Date = DateTime.Now() 
      newNote.JobID = JobID 
      newNote.NoteByStaffID = NoteFrom 
      If Not NoteTo = Nothing Then 
       newNote.NoteToStaffID = CInt(NoteTo) 
      End If 

      newNote.NoteContent = NoteContent 

      Try 
       db.Job_Notes.InsertOnSubmit(newNote) 
       db.SubmitChanges() 
      Catch ex As Exception 
      End Try 

     End Sub 

가 제출 컴파일러가 줄 바꿈이 텍스트 상자에 입력 한 감지하지 않는 것입니다. 디버깅을하고 코드를 단계별로 살펴 보았습니다. 물론 줄 바꿈을 무시했습니다. 시도하고 줄 바꿈 대신 다른 문자를 바꿀 경우 잘 작동합니다.

내 기능, LINQ 삽입 또는 이와 유사한 것으로 보이지는 않지만 단순히 줄 바꿈을 감지하지 못합니다. VbCr과 chr (13)을 시도했지만 어느 것도 작동하지 않습니다.

나를 도와 줄 사람이 있습니까? 나는 광고를 1 시간 이상 검색하려고 노력 해왔다.

감사합니다 당신이 교체 할 때 VbCrLf (윈도우 라인 브레이크), VbLf (유닉스 줄 바꿈)와 VbCr (맥 줄 바꿈) 확인해야합니다

답변

2

. 메모리가 올바로 작동하면 HTML 텍스트 영역의 표준 개행 문자는 "\n" (일명 VbLf)이므로 VbCrLf을 으로 대체하면되지만, 개인적으로는 항상 안전을 위해 항상 확인합니다.

Dim htmlBreakElement As String = "<br />" 
Dim noteContent As String = txtNoteContent.Text _ 
    .Replace(vbCrLf, htmlBreakElement) _ 
    .Replace(vbLf, htmlBreakElement) _ 
    .Replace(vbCr, htmlBreakElement) 
Shop.Job.Notes.addNote(Request.QueryString("JobID"), ddlNoteFrom.SelectedValue, ddlNoteTo.SelectedValue, noteContent) 
+0

고마워요! 다른 캐릭터가 효과가있는 것 같습니다. 나는 이걸 기억할거야! 다시 한번 감사드립니다. – StrattonL

+0

괜찮습니다! 다행 했어. –

관련 문제