通过VB在ASP.NET中单独获取复选框值

时间:2015-04-01 20:25:41

标签: html asp.net vb.net

我目前正试图从已发布的#34;复选框中获取一些值。到另一个aspx页面。我的代码看起来像这样:

<form method = "post" action = "HubPageUpdate.aspx">
    <input type = 'checkbox' name = 'customerBox' value = '0'>
    <input type = 'checkbox' name = 'customerBox' value = '1'>
    <input type = 'checkbox' name = 'customerBox' value = '2'>
    <input type = 'checkbox' name = 'customerBox' value = '3'>
    <input type = 'checkbox' name = 'customerBox' value = '4'>

    <input type = "submit" value = "Update">
</form>

我的代码动态生成复选框,因此它并不是真正的硬编码。它发布到的ASP.NET页面随后要进行检查,我会对它进行一些SQL。但是,当我通过使用简单的方法测试它时:

<% Response.Write(Request.Form("customerBox")) %>

它将返回给我检查的内容:

1,2,3

这意味着该复选框有效,这让我高兴。但是,因为它是一个字符串,所以我无法真正做到这一点,因为我需要单独进行SQL查询。我怎样才能单独获得它们而不是字符串?我首先假设一个数组,但我仍然不确定如何单独获取它们。谢谢!

2 个答案:

答案 0 :(得分:1)

您假设使用数组是正确的(或至少它是一种方法)。 ;)

不是最短的,但你可以试试这个:

Dim RecievedString As String = "1,2,3"
Dim BoxesChecked() As Integer = New Integer() {}

For Each s As String In RecievedString.Split(",")
    Array.Resize(BoxesChecked, BoxesChecked.Length + 1)
    BoxesChecked(BoxesChecked.Length - 1) = Integer.Parse(s)
Next

只需将RecievedString分配给您从回复中获得的内容。

BoxesChecked(0)将为您提供数组中的第一个整数,BoxesChecked(1)将为您提供第二个...等等...

答案 1 :(得分:0)

所以你只需要一个以逗号分隔的字符串作为整数?这是你如何做到的。

String stringValue = "1,2,3";
Dim asInts = From str in stringValue.Split(',')
    Select int.Parse(str);

我的VB生锈了,所以这可能不完全准确。