使用复选框和附加值批量删除

Bulk delete with checkboxes and additional values

所以我想我现在处于某种隧道视野中。

我必须维护一个非常基本的应用程序 (HTML + ASP)。在此应用程序中,有一个小 table 具有一些值:

<table>
    <tr>
        <td>Customer-ID</td>
    </tr>
    <tr>
        <td>Waregroup</td>
    </tr>
    <tr>
        <td>Some other ID</td>
    </tr>
    <tr>
        <td>[edit]</td>
    </tr>
    <tr>
        <td>[delete]</td>
    </tr>
    <tr>
        <td>[checkbox for deletion]</td>
    </tr>
</table>

看起来像这样,使它更直观(排除了有数据的行,不需要它们):

现在,delete-函数不仅仅接受客户 ID (KD Nr.),它还接受了更多的参数,这些参数在 link 中提供。例如,这里:

someSite.com?sid=123456&gkid=133&kdid=9043168&wws=9&del=1

一些值取自 QueryString,其他值取自 SQL-Query 的结果集。

现在我必须扩展此应用程序并添加一个复选框以进行批量删除。这根本不是问题,但现在我有点卡在如何获取删除所需的值,而我基本上只能在每个复选框中使用 1 个值。我考虑过使用隐藏输入,但后来我不知道如何确定应该删除哪些 "rows" 而哪些不应该删除:

这是我添加的:

<td>
    <input type="checkbox" name="deletebox[]" value="0">
    <input type="hidden" name="sid" value="<%=Request.QueryString("sid")%>">
    <input type="hidden" name="gkid" value="<%=Request.QueryString("gkid")%>">
    <input type="hidden" name="kdid" value="<%=rs("ka_kdnr")%>">
    <input type="hidden" name="wws" value="<%=rs("ka_sysid")%>">
</td>

我的想法是遍历每个选中的复选框,从隐藏字段中获取值,然后 运行 我的删除脚本在一个循环中。

关于如何做到这一点的任何线索?我可以简单地遍历所有选中的复选框和 request 以获得隐藏字段的当前值吗?

我基本上只需要 gkidgkkid 来让存储过程工作。

如果您提交的表单包含同一表单变量的多个实例,那么请求对象中该变量的值将显示为逗号分隔的数组。换句话说,如果您的表单包含以下内容:

<input type="checkbox" name="gkid" value="25">
<input type="checkbox" name="gkid" value="50">
<input type="checkbox" name="gkid" value="75">

然后Request("gkid")如果你全部勾选,会显示一个值“25,50,75”。然后,您可以按如下方式拆分数组。

For i = 1 to Request("gkid").Count
     Response.write Request("gkid")(i) & "<br>" & vbcrlf
Next

我假设您可以从那里获取它并调整上面的内容以使用 Request.Form("gkid")(i) 并使用调用您的存储过程的代码在循环内应用逻辑。

您的问题提到了一个名为 "gkkid" 的变量。我看不出那是从哪里来的。如果可以的话,我也许可以改进这个答案。