如何在Asp.Net中使用HttpWebRequest发布多个Select值

时间:2014-10-11 14:46:11

标签: c# asp.net post httpwebrequest

我的目标是使用Asp.Net的HttpWebRequest向网页提交多个值,就像它们是从<select>元素发送一样。

我用于创建数据字符串的代码如下:

NameValueCollection outgoingQueryString = HttpUtility.ParseQueryString(String.Empty);
outgoingQueryString.Add("username", "myusername");
outgoingQueryString.Add("password", "mypassword");
string postData = outgoingQueryString.ToString();

现在让我说我有以下选择例如:

<select name="banana" multiple="">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

我需要提交选项1和2,如何将其添加到查询字符串中?作为数组,还是可以添加多个具有相同名称的值?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以传递逗号分隔值,因为当您实际发布多选控件时,您会在Request中获得逗号分隔值,因此要模拟,您可以传递逗号分隔值。

enter image description here

使用HTML后。注意select是服务器控件。

<form id="form1" runat="server">
    <div>
        <select name="banana" multiple="" id="sl" runat="server">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
        </select>
        <asp:Button ID="btn" runat="server" Text="sub" OnClick="btn_Click" />
    </div>
</form>

答案 1 :(得分:1)

您只需使用ArrayList

即可
ArrayList MyArray;

if (Request.QueryString["MyArray"] != null)
{
   MyArray = (ArrayList)Request.QueryString["MyArray"];
}

else
{
  MyArray = new ArrayList();
}

将值添加到ArrayList

 if (MyArray.IndexOf(checkAllIndex) == -1)
   {

    MyArray.Add(checkAllIndex);
   }

ArrayList

中删除
if (MyArray.IndexOf(checkAllIndex) != -1)

        {

            MyArray.Remove(checkAllIndex);
         }