2015-01-09 4 views
0

이 코드를 Classic ASP에 쓰려고하는데 어떤 이유로 작동하지 않습니다. 어쩌면 내가 뭔가를 놓친 해요 : strReseller = rsRMA ("대리점") :Classic ASP의 동적 선택 옵션

 <select name="reseller" /> 
     <option value="">Select a Reseller:</option> 
     <% 
     sql = "SELECT resellerid, company FROM resellers WHERE insidesales <> 'True' ORDER BY company ASC" 
     set rsResellers=conn.execute(sql) 
      do until rsResellers.eof 
       thisReseller = rsResellers("company") 
       if strReseller = thisReseller then thisSEL = " SELECTED='SELECTED'" else thisSEL = "" end if 
       response.write "<option value="""& rsResellers("company") &""""& thisSEL &">"& rsResellers("company") &"</option>" 
      rsResellers.movenext 
      loop 
     rsResellers.close 
     set rsResellers=nothing 
     %> 
     </select> 

strReseller 쿼리를 온다. response.write strReseller를 수행하면 값이 반환되므로 문자열이 비어 있지 않다는 것을 알 수 있습니다. 그러나 몇 가지 이유로이 옵션은 "선택"되지 않습니다.

"resellerid"를 사용해야하지만이 특정 프로젝트의 경우 데이터가있는 이전 데이터베이스를 인계하므로 데이터를 사용할 수 없다는 것을 알고 있습니다.

+0

루프 앞에서'Response.Write'ing을'strReseller' 밖으로 시도해 보시겠습니까? 비교 중에 'thisReseller'와'strReseller'를 모두'CStr()'에 명시 적으로 던지기를 원할 수도 있습니다. – StuartLC

+0

은 회사 ID (숫자) 또는 문자열입니까? –

답변

1

나는 equals에 StrComp을 사용하고 모든 옵션에는 Response.Write으로 적어 둘 필요는 없습니다. 이 같은 것

이렇게하면 오류의 원인 일 수있는 대소 문자를 구분하지 않습니다.