2013-12-20 1 views
2

오케이 ... 중첩 태그가 공식적으로 지원되지 않는다는 것을 알고 있습니다. 하지만 이쪽에 나와 함께있어.asp.net <form> 태그가 ASP에서 제거됨 : 리터럴

표준 < 양식 runat = server > 태그가 맨 위에있는 ASP.NET 웹 페이지가 있습니다. 서버 측 (코드 숨김)에서 HttpWebRequest를 통해 타사 소스에서 양식 (및 관련 필드)을 가져옵니다. 내가 얻은 데이터가 < 양식 > 태그를 포함하고 있는지 확인할 수 있습니다. Trace 문을 통해 확인할 수 있습니다. 그럼 난 이렇게 내 문자에 데이터를 할당 : 페이지가 렌더링 될 때

 

    Dim objRequest As System.Net.HttpWebRequest = System.Net.WebRequest.Create(url) 
    Dim objResponse As System.Net.WebResponse 
    objRequest.Method = "POST" 
    Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData.ToString) 
    objRequest.ContentType = "application/x-www-form-urlencoded" 
    objRequest.ContentLength = byteArray.Length 
    Dim dataStream As Stream = objRequest.GetRequestStream() 
    dataStream.Write(byteArray, 0, byteArray.Length) 
    dataStream.Close() 


    objResponse = objRequest.GetResponse() 
    Dim streamRead As New StreamReader(objResponse.GetResponseStream()) 
    Dim strResponse As String = streamRead.ReadToEnd() 

    me.litCMSForm.Text = strResponse 

은, 어떻게 든 .NET은 문자 그대로 내이었다 < 형태 > 태그를 제거했습니다.

변수 "strResponse"를 표시 할 공용 변수에 할당하려고 시도했는데 태그도 제거했습니다. 그리고 변수를 asp : Label에 할당 해 보았습니다. 그리고 "PreRender"함수의 리터럴 값을 아무런 성공없이 할당하려고했습니다.

이것에 대한 의견과 .NET이 < 양식 > 태그를 제거하는 이유는 무엇입니까?

감사합니다.

답변

1

정확합니다. 중첩 된 양식 태그는 지원되지 않습니다. ASP.NET 폼 외부의 HTML 컨테이너에 문자열을 전달하거나보다 독립적 인 iframe으로 출력하는 JavaScript를 생성하면됩니다.

0

나는 동일한 문제가있었습니다. 나는 실제로 삽입하기 전에 다른 양식을 추가하여 상황을 해결할 수있었습니다. ASP가 발견 한 첫 번째 회사를 제거 할만큼 충분히 윤택 한 것처럼 보입니다. 아마도이 당신을 위해 작동합니다 :

me.litCMSForm.Text = "<form name='fakeOut'></form>" + strResponse 

내가 실제로 내 양식 코드가 조금 더 장식 할 수 있었다 (나는이 행동과 숨겨진 입력했다). 나는 그것이 작동했기 때문에 무엇이 사라져야 하는지를보기 위해 계속 시험하지 않았다.

관련 문제