2012-05-16 3 views
0

쿼리 문자열 3 개 (querystring1 = 100, querystring2 = A & B, querystring3 = 300)가 있으며 URL은 http://mywebsite.com?querystring1=100&querystring2=A%26B&querystring3=300으로 표시됩니다. (querystring2 "A & B"는 "A % 26B"로 인코딩 됨). 그것은 데이터를 올바르게 반환하고 아무런 문제도 없습니다. 그러나, 내 ExportToExcel 방법 URL에 querystring2은 "A B &"디코딩되기 때문에, 즉, 페이지가 렌더링 될 때 http://mywebsite.com?querystring1=100&querystring2=A&B&querystring3=300&excel=true&PageSize=3 Excel로 내보내기 - QueryString에 "&"가 포함 된 문제

Response.Write("<script>window.open('" & Request.Url.ToString & "&excel=true&PageSize=" & TotalRecs.ToString() & "','_new', ''); 
history.go(-1); 
</script>") 

이 제대로 작동하지 않는 갖는다. "A & B"대신에 쿼리 문자열 값을 "A"로 취합니다. 누군가이 문제를 해결하는 방법을 말해 줄 수 있습니까?

답변

2
+0

가 어떻게 여기 Server.UlrEncode를 사용할 수'을 Response.Write (" ")' – rk1962

+1

추가'Server.UrlEncode (Request.Url. ToString())'인코딩되지 않은 문자열이 아닙니다. – Rup

+0

그래서 인코딩되지 않은 URL을 가지고 있으므로 % 26을 (를) 넣었습니다. 또한 &는 URL의 특수 문자이므로 나중에 url을 잘못 해석합니다. 'Response.Write (" ") ' – ivowiblo

1

이 시도 :

string querystring2="A&B"; 
Response.Redirect("http://mywebsite.com?querystring2"+ Server.UrlEncode(querystring2)); 
+0

URL을 직접 호출하지 않습니다. 다음 코드에서 Server.UrlEnclode를 어떻게 사용합니까? 'Response.Write (" ") – rk1962

+0

대신 Server.UrlEncode (TotalRecs.ToString())를 사용하십시오. TotalRecs.ToString() –

관련 문제