2011-12-16 24 views
2

What is the default form HTTP method?爲什麼默認的表單發佈方法NOT GET?

爲鏈接指出上述HTML表單中使用的其他任何地方的默認發佈方法是GET但我似乎得到了POST方法的結果時包括以method =「」屬性我形式聲明:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Ny test</title> 
    <link rel="stylesheet" type="text/css" href="StyleSheet.css" /> 
</head> 
<body> 

    <form action="Default.aspx" runat="server"> 

    Name: <input type="text" id="navn" runat="server"/> 
    <input type="submit" id="submit" value="Submit!" runat="server" /> 
    <input type="reset" /> 
    <br /> 

    </form> 
</body> 
</html> 

的HTML代碼以上在URL下面的輸出結果提交按鈕之後被點擊:

http://localhost:62733/WebSiteTest/Default.aspx

當明確使用了 「GET」 方法的屬性我得到的URL下面的輸出提交按鈕後點擊:

http://localhost:62733/WebSiteTest/Default.aspx?__VIEWSTATE=%2FwEPDwULLTE4OTM2NjcwNTBkZIRLV0rUSQgWDDv1sI1c1b%2Fj3fJXcWYiESG%2FlBGieAM4&__EVENTVALIDATION=%2FwEWAwK3qIiCDgK%2B2K%2BHBgLcu4S2BHrznTBZeKNNwWHoyMUQHB9lYE%2B7CEDwuP5UEvN7ULBt&navn=&submit=Submit%21

這是爲什麼發生了什麼? HTML表單的默認發佈方法是GET,那麼爲什麼我在沒有將GET作爲方法屬性時得到相反的結果?

此Visual Studio/ASP.NET默認爲HTML表單中的POST方法嗎?

+0

更好的問題是爲什麼你不只是定義方法來獲得100%的預期結果? – MetalFrog 2011-12-16 12:51:51

回答

2

ASP.Net將表格設置爲methodPOST。我假設按鈕導致POST請求比GET更具語義性,並防止在查詢字符串中使用查看數據的非常長的URL。

檢查您的HTML源代碼,您將看到method="post"屬性。

相關問題