我正在使用使用存儲過程按字母過濾的分頁。我需要保存複選框的值,因爲我通過字母過濾來提交表單。我有一個previous question類似於這很好,但我希望能夠保留我的存儲過程。分頁並保存複選框的值
存儲過程:
ALTER PROCEDURE [dbo].[A_Page_Paging]
@selected_Char char(1) = null,
@permissionID int = null
as
if @permissionID = ''
if @selected_Char = '#'
select * from A_Page where P_Description like '[^a-z]%'
else if @selected_Char = '!'
select * from A_Page
order by P_Description
else
select * from A_Page where P_Description like @selected_Char + '%'
else
select P_PageID, P_Name, P_Description from A_Permission
inner join L_PagePermission
on P_PermissionID = PP_PermissionID
inner join A_Page
on P_PageID = PP_PageID
where P_PermissionID = @permissionID
order by P_Name
尋呼按鈕:
<input id="buttonStyle" type="submit" name="Paging_Button" value="#">
<% for i = 97 to 122 %>
<input id="buttonStyle" type="submit" name="Paging_Button" value="<%=CHR(i) %>">
<% next %>
<input id="buttonStyle" type="submit" name="Paging_Button" value="All">
功能,以節省複選框和複選框(該函數將只例如工作,如果我選擇具有值開始與A然後複選框過濾器A將顯示,如果我按B過濾它不會):
'Checkbox check
Function CheckedByUser(id)
Dim x
CheckedByUser = "checked=""checked"""
For x=1 To Request.Form("selectedRecord").Count
If Trim(Request.Form("selectedRecord").Item(x)) = Trim(id) Then
Exit Function
End If
Next
CheckedByUser = ""
End Function
<input type="checkbox" name="selectedRecord" value="<%=objRS("P_PageID")%>" <%=CheckedByUser(objRS("P_PageID")) %>>
以前的答案來解決分頁問題,但要求我改變我的存儲過程,我不喜歡做的事:
<%
Do Until objRS.EOF
Response.Write("<input type=""checkbox"" name=""selectedRecord"" value=""" & objRS("Id") & """ " & WasCheckedByUser(objRS("Id")))
If Len(Request.Form("Page"))=1 And Trim(Left(objRS("Id"), 1))<>Trim(Request.Form("Page")) Then
Response.Write(" style=""display: none;""")
End If
Response.Write(" />")
objRS.MoveNext
Loop
%>
執行存儲過程
connectionstring = obj_ADO.getconnectionstring
Set objCon = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.Recordset")
set objComm = CreateObject("ADODB.Command")
objCon.Open connectionstring
objComm.ActiveConnection = objCon.ConnectionString
objComm.CommandText = "A_Page_Paging"
objComm.CommandType = 4
Set objParameter = objComm.CreateParameter
objParameter.Name = "selected_Char"
objParameter.Type = 129
objParameter.Direction = 1
objParameter.Size = 3
objParameter.Value = Selected_Button
objComm.Parameters.Append objParameter
Set objParameter2 = objComm.CreateParameter
objParameter2.Name = "PermissionID"
objParameter2.Type = 129
objParameter2.Direction = 1
objParameter2 .Size = 3
objParameter2 .Value = P_ID
objComm.Parameters.Append objParameter2
set objRS = objComm.Execute
只需調用存儲過程'A_Page_Paging'只傳遞'!'作爲第一個參數,而不是傳遞選定的字母。如果需要進一步幫助,請將代碼放在ASP代碼中執行存儲過程的地方。 –
@shadowwizard我添加了你所要求的代碼 –