1

所以我在一个项目中工作,将数据从 C# 应用程序发送到 ASP Web 应用程序;问题是当我想发送数据时出现此错误:远程服务器返回错误:(405)方法不允许。 这是我的 C# 代码:

    static void Main(string[] args)
    {
        using (var wb = new WebClient())
        {
            var data = new NameValueCollection();
            string url = "http://localhost:4241/HtmlPage2.html";
            data["Text1"] = "Anas";
            data["Text2"] = "Anas";
            var response = wb.UploadValues(url, "POST", data);
        }
    }

这里是我的 ASP 代码(它只是一个用于测试的 HTML 页面,代码是在其中实现的HtmlPage2.html,当我提交按钮时它会将数据传递给HtmlPage2.html

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form method="Post" action="HtmlPage2.html">
        <input id="Text1" type="text" name="Text1" />
        <input id="Text2" type="text" name="Text2" />
        <input id="Button1" type="submit" value="button" />
    </form>
</body>
</html>

注意:我的 IIS 已经启用 :) 所以如果有人可以帮助我,我将非常感激 :)

4

1 回答 1

0

HTML 文件是基于文件系统的网络服务器上的静态文件,它无法处理 POST 请求,只能处理 GET(除非您使用的是 WebDAV,但这是另一回事)。

基本上<form action="HtmlPage2.html">片段是不正确的。如果它在您的网络浏览器中确实有效,则检查页面的 DOM 以查看action属性是否正在更改。

于 2013-03-14T17:59:58.660 回答