2010-03-21 3 views
0
string rowString = "<tr id=\"row1\" bgcolor=\"#FFFFFF\" onMouseOver=\"this.bgColor='#EEEEEE';\" onMouseOut=\"this.bgColor='#FFFFFF';\" style=\"cursor:pointer;\">" + 
     "<td bgcolor=\"#FFFFFF\"><img src=\"images/"+"-companylogofilename-"+"\" width=\"108\" height=\"32\" alt=\""+"-companyname-"+"\" /></td>" + //turkish.airlines.jpg airlineiconfilename, airline name 
    "<td class=\"table_content\">{0}</td>" + 
    "<td class=\"table_content\">{1}</td>" + 
    "<td class=\"table_content\">{2}</td>" + 
    "<td class=\"table_content\">{3}</td>" + 
    "<td class=\"table_content\">{4}</td>" + 
    "<td class=\"table_content\"><table width=\"98%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" + 
    "<tr><td class=\"table_content\">{5}</td>" + 
    "<td width=\"20\" align=\"right\">" + 
    "<a href=\"default.aspx\" onClick=\"return hs.htmlExpand(this, { headingText: '{6} - {7}', width: 600, height: 215, targetX: 'row1 400px', targetY: 'row1 40px' })\">" + 
    "<img src=\"images/arrow.png\" width=\"13\" height=\"16\" border=\"0\" class=\"tip\" onMouseOver=\"tooltip('Click for Details.');\" onMouseOut=\"exit();\" />" + 
    "</a>"; 

    accordionHTML.Append(String.Format(rowString, 
     flight.Get_AirlineCode(), 
     flight.Get_Clase(), 
     flight.Get_Departure(), 
     flight.Get_DeprtDate(), 
     flight.Get_DeprtTime(), 
     flight.Get_Destination(), 
     flight.Get_Departure(), 
     flight.Get_Destination())); 

안녕하세요, 위의 실수를 찾으실 수 있습니까? "입력 문자열이 올바르지 않습니다!";라는 오류가 나타납니다. "; 사전에 감사합니다,stringbuilder의 오류

+0

당신은'AppendFormat'를 호출해야합니다 작성해야합니다. 또한'@'문자열을 사용해야합니다. 또한 XSS 구멍이 있습니다. 템플릿 엔진을 사용해야합니다. – SLaks

+0

똑같은 일이 발생합니다. 볼 수없는 입력 문자열에 sthg 오류가 있습니다! – Kubi

+0

나는 그것이 일반적인 조언으로서, 문제를 해결하지 않는다는 것을 의미했다. – SLaks

답변

1

인라인 onClick 핸들러 객체 리터럴에 독립 중괄호를 이스케이프있다는 :

onClick=\"return hs.htmlExpand(this, { headingText: '{6} - {7}', width: 600, height: 215, targetX: 'row1 400px', targetY: 'row1 40px' })\">" 

당신은 this, {{ headingText... }}