2010-07-09 5 views
0

나는 다음과 같은 문자열이 있습니다C#의 문자열 문제 - a. 다음에 "

이 문자열 내 페이지에 기록됩니다
string text = @"<a href=""http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=" + dashboardURL + "&Page=" + reportName + @"&P0=1&P1=eq&P2=Project.""Project Name"" target=""_blank"">" + reportName + "</a><br/><br/>"; 

, 그것은 다음과 같습니다가 :

<a href="http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=/shared/Real Estate Reporting_portal/REGIS: Financial Reporting UAT/&Page=DR - 3: Debt Payment History&P0=1&P1=eq&P2=Project\."Project Name" target="_blank">DR - 3: Debt Payment History</a> 

누군가가 기간 ID가 탈출되는 이유를 설명 할 수 있습니다 ? 나는

감사합니다.

+0

흥미있는 문제지만, 왜 그냥 바꿔 줘? 프로젝트 "+". \ ""+ @ "프로젝트 – Fosco

+1

이것은 Uri 대신 리터럴을 사용하는 경우 FxCop이 울리는 이유입니다. – Will

답변

1

. 제대로이 탈출하는 방법과 멍청이 해요 난 당신의 출력이 사장님 보일 것입니다 정확히 모르겠어요 e이지만 String.Formatescaping은 (는) 친구입니다. 당신이 당신의 URL에 따옴표를 사용하여 의도하는 경우 태그 속성에 대한

string text = String.Format("<a href='http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath={0}&Page={1}&P0=1&P1=eq&P2=Project.\"Project Name\"'' target='_blank'>{1}</a><br/><br/>",dashboardURL,reportName); 
1

후 작은 따옴표를 사용합니다.

string text = "<a href='http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=" + dashboardURL + "&Page=" + reportName + "&P0=1&P1=eq&P2=Project.\"Project Name\"' target='_blank'>" + reportName + "</a><br/><br/>"; 

또는 더 나은, URL-탈출 따옴표 (%22) : 당신은 를 urlencode 당신의 문자열로 필요

string text = "<a href='http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=" + dashboardURL + "&Page=" + reportName + "&P0=1&P1=eq&P2=Project.%22Project Name%22' target='_blank'>" + reportName + "</a><br/><br/>";