2013-03-14 144 views
1

因此,我正在從一個C#應用程序發送數據到ASP Web應用程序的項目中工作;問題是當我想發送數據時出現此錯誤:遠程服務器返回錯誤:(405)方法不允許。這裏是我的C#代碼:遠程服務器返回錯誤:(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已經啓用了:) 所以,如果有人能幫助我,我會非常感激:)

+0

此線程似乎相關:http://stackoverflow.com/questions/13258014/jquery-post-error-405-method-not-allowed。釋義:檢查IIS中的處理程序映射。對於* .html映射,請檢查請求限制並確保POST位於接受的動詞列表中或者選中了所有動詞選項。 – 2013-03-14 17:17:31

回答

0

一個HTML文件是STA tic文件在基於文件系統的web服務器上,它沒有辦法處理POST請求,只有GET(除非你使用WebDAV,但那是另一回事)。

基本上<form action="HtmlPage2.html">片段不正確。如果它在您的瀏覽器中正常工作,請檢查頁面的DOM以查看action屬性是否正在更改。

+0

好的,謝謝戴,所以有任何想法如何做到這一點,我有一個C#應用程序和ASP Web應用程序,我想發送一個請求從C#到Asp – HASSAROV 2013-03-15 09:26:09

+0

通過「C#應用程序」我假設你的意思是一個WinForms桌面應用程序。您的代碼很好(很大程度上),但您需要了解您發送數據的網站的工作方式。那樣做,然後回來再問一次。 – Dai 2013-03-15 09:54:16

相關問題