我有一个经典的 asp 页面,上面有一些选择框。由不包含输入参数的存储过程填充的框可以正常工作。
当我有一个需要用特定记录列表填充的选择框时,就会出现我的问题。这是基于用户打开的当前记录,我将其作为参数传递给存储过程。我有以下代码来调用 SP:
'Return Possible RTA Contracts
Dim RecordsetApply
Dim RecordsetApply_cmd
Dim RecordsetApply_numRows
Set RecordsetApply_cmd = Server.CreateObject ("ADODB.Command")
RecordsetApply_cmd.ActiveConnection = GLData_connection_STRING
RecordsetApply_cmd.CommandText = "return_rtacontractlist"
RecordsetApply_cmd.CommandType = adCmdStoredProc
RecordsetApply_cmd.Parameters.Append RecordsetApply_cmd.CreateParameter("ContractIDParam", adVarChar, adParamInput, 50)
RecordsetApply_cmd("ContractIDParam") = RecordsetContract__GLColParam
Set RecordsetApply = RecordsetApply_cmd.Execute
RecordsetApply_numRows = 0
就选择框填充正确的数据而言,这可以正常工作,但页面的其余部分 HTML 会停止呈现。这是选择框的代码:
<td><span id="sprytextfield24">
<select style="font-size:12px" name="rtacontract" id="rtacontract">
<%
While (NOT RecordsetApply.EOF)
%>
<option value="<%=(RecordsetApply.Fields.Item("ContractID").Value)%>"><%=(RecordsetApply.Fields.Item("ContractDesc").Value)%></option>
<%
RecordsetApply.MoveNext()
Wend
If (RecordsetApply.CursorType > 0) Then
RecordsetApply.MoveFirst
Else
RecordsetApply.Requery
End If
%>
</select><br />Apply Remainder To*<br />
<span class="textfieldRequiredMsg">Field Required</span></span></td>
如果我删除参数并实际对 SP 中的记录进行硬编码,则页面会正常加载。当然,这不会作为解决方案起作用。
希望这是我犯的一个简单错误,因为我对此很陌生。