C#:如何将带有一些选中复选框的表单发布到网站?

发布于 2024-08-15 04:03:44 字数 105 浏览 2 评论 0原文

我正在使用 C# 工作,我想发布到一个具有多个复选框的网站,并根据选中的复选框返回一个数据文件。

首先,如何发布带有选中复选框的表单? 一旦完成,我如何获取网站发送给我的数据文件?

I'm working in C#, and I want to POST to a website that has multiple checkboxes and returns a datafile depending on which checkboxes are checked.

First of all, how do I post a form with checked checkboxes ?
And once that is done, how do I get the datafile the site sends me ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

つ可否回来 2024-08-22 04:03:44

通过这个简单的 ASP 代码,我们可以看到复选框值如何通过 POST 请求发送:

tst.asp

<%
Dim chks
chks = Request.Form("chks")
%>
<html>
<head>
    <title>Test page</title>
</head>
<body>
    <form name="someForm" action="" method="POST">
        <input type="checkbox" id="chk01" name="chks" value="v1" />
        <input type="checkbox" id="chk02" name="chks" value="v2" />
        <input type="checkbox" id="chk03" name="chks" value="v3" />
        <input type="submit" value="Submit!" />
    </form>
    <h3>Last "chks" = <%= chks %></h3>
</body>
</html>

如果我们选中所有复选框,H3 行将向我们展示这一点:

Last "chks" = v1, v2, v3

现在我们知道数据应该如何发送被张贴。通过下面的示例代码,您应该能够做到。

C# 方法示例

using System.Text;
using System.Net;
using System.IO;
using System;

...

void DoIt()
{
    String querystring = "chks=v1, v2, v3";
    byte[] buffer = Encoding.UTF8.GetBytes(querystring);

    WebRequest webrequest = HttpWebRequest.Create("http://someUrl/tst.asp");
    webrequest.ContentType = "application/x-www-form-urlencoded";
    webrequest.Method = "POST";
    webrequest.ContentLength = buffer.Length;

    using (Stream data = webrequest.GetRequestStream())
    {
        data.Write(buffer, 0, buffer.Length);
    }

    using (HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse())
    {
        if (webresponse.StatusCode == HttpStatusCode.OK)
        {
            /* post ok */
        }
    }
}

希望我有所帮助。

有用的链接:

With this simple ASP code, we can see how checkboxes values are sent through a POST request:

tst.asp

<%
Dim chks
chks = Request.Form("chks")
%>
<html>
<head>
    <title>Test page</title>
</head>
<body>
    <form name="someForm" action="" method="POST">
        <input type="checkbox" id="chk01" name="chks" value="v1" />
        <input type="checkbox" id="chk02" name="chks" value="v2" />
        <input type="checkbox" id="chk03" name="chks" value="v3" />
        <input type="submit" value="Submit!" />
    </form>
    <h3>Last "chks" = <%= chks %></h3>
</body>
</html>

The H3 line show us this, if we check all the checkboxes:

Last "chks" = v1, v2, v3

Now we know how the data should be posted. With the sample code below, you should be able to do it.

C# method sample

using System.Text;
using System.Net;
using System.IO;
using System;

...

void DoIt()
{
    String querystring = "chks=v1, v2, v3";
    byte[] buffer = Encoding.UTF8.GetBytes(querystring);

    WebRequest webrequest = HttpWebRequest.Create("http://someUrl/tst.asp");
    webrequest.ContentType = "application/x-www-form-urlencoded";
    webrequest.Method = "POST";
    webrequest.ContentLength = buffer.Length;

    using (Stream data = webrequest.GetRequestStream())
    {
        data.Write(buffer, 0, buffer.Length);
    }

    using (HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse())
    {
        if (webresponse.StatusCode == HttpStatusCode.OK)
        {
            /* post ok */
        }
    }
}

Hope I've helped.

Useful links:

铁轨上的流浪者 2024-08-22 04:03:44

您需要使用 System.Net.HttpWebRequest 命名空间创建一些 WebRequest。

您可以使用 HttpWebRequest 创建 GET POST 连接。

此处有一篇很棒的文章,您还可以查看MSDN 上的System.Net.HttpWebRequest

You'll want to make some WebRequests using the System.Net.HttpWebRequest namespace.

You can create a GET or a POST connection with HttpWebRequest.

There's a great article on it here and you can also check out System.Net.HttpWebRequest on MSDN.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文