我一直在使用Request.Form來處理所有的代碼。如果我需要querystring,我也明確地打了。它出現在代碼審查中,我應該使用Params集合。我應該使用Request.Params而不是顯式地執行Request.Form嗎?
我認爲這是一個最佳實踐,直接打到適當的收藏。我正在尋找一些強化一方或另一方的論點。
我一直在使用Request.Form來處理所有的代碼。如果我需要querystring,我也明確地打了。它出現在代碼審查中,我應該使用Params集合。我應該使用Request.Params而不是顯式地執行Request.Form嗎?
我認爲這是一個最佳實踐,直接打到適當的收藏。我正在尋找一些強化一方或另一方的論點。
使用Request.Form更安全。這將阻止用戶僅通過更改URL來「發佈」表單參數。使用Request.Form並不能保證「真正的黑客」的安全,但恕我直言,最好使用Form集合。
通過使用請求下的屬性,您正在縮小您的檢索到適當的集合(這對於可讀性和性能來說是一件好事)。我認爲你的方法是最佳實踐,並且自己遵循。
+1。除了'Form'和'QueryString'之外,許多人都不知道'Params'集合還包含'Cookies'和'ServerVariables'。 – LukeH 2009-09-15 12:51:54
我一直使用 的Request.Form(「參數」) 或 的Request.QueryString(「參數」)
這純粹是下降到語法,更易於閱讀。我嚴重懷疑這是否會對性能產生影響。
我用Request.Params
代替Form
或Querystring
的唯一情況是,如果我不知道是否通過該參數將被傳入的方法。
要提出,在背景下,10年來,我已經使用Request.Params
憤怒只有一次:)
善良,
d
我覺得這是更好地使用表單和查詢字符串的集合,除非明確您明確地試圖在應用程序中定義靈活的行爲,例如在搜索表單中,您可能希望將搜索參數定義在URL中或保存在Cookie(如分頁首選項)中。
我會明確使用Request.Form和Request.QueryString。原因是兩者不可互換。查詢字符串用於HTTP Get請求,用於HTTP Post請求的FORM變量。
獲取請求通常適用於請求數據的地方,例如做一個谷歌搜索,搜索字詞在查詢字符串中。這篇文章是在您將數據發送到Web服務器進行處理或存儲的時候。所以,當我說這兩個不可互換時,我的意思是說你不能在不破壞功能的情況下使用GET來改變頁面。
所以恕我直言,頁面的實現可以非常清楚地反映你打算由GET或POST請求調用它的事實。
/Pete
+1非常好的一點。 – 2009-09-15 12:49:18
到目前爲止,我認爲你回答了我正在尋找的東西,爲了避免殺死這個問題的興趣,我會標記它,明天 – DevelopingChris 2009-09-15 13:03:36