iT邦幫忙

0

HttpRequest 類別 與 FormCollection 建構函式 有何不同

HttpRequest 類別 與 FormCollection 建構函式 有何不同
看起來很像,一個我是在Webapi裏用一個是在mvc裏用
但為何會有兩種

Yaowen iT邦研究生 4 級 ‧ 2021-12-23 14:44:56 檢舉
https://blog.miniasp.com/post/2009/06/15/ASPNET-MVC-Developer-Note-Part-6-Model-Binder-and-FormCollection 保哥說明
Yaowen iT邦研究生 4 級 ‧ 2021-12-23 14:45:54 檢舉
FormCollection 沒有Model Binder
fillano iT邦超人 1 級 ‧ 2021-12-24 09:05:35 檢舉
HttpRequest跟FormCollection差很多好嗎?你怎麼不舉例說哪裡很像?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
fillano
iT邦超人 1 級 ‧ 2021-12-24 09:09:18

https://docs.microsoft.com/zh-tw/dotnet/api/system.web.httprequest.item?view=netframework-4.8#System_Web_HttpRequest_Item_System_String_

HttpRequest是因為定義了這個,所以可以用跟FormCollection類似的方式取值,你可以自己簡單實做:

using System;
using System.Collections.Specialized;

namespace ConsoleApp1
{
    class Program
    {
        public static void Main(string[] args)
        {
            CollectionLike c = new CollectionLike();
            c["hello"] = "Hello World!";
            Console.WriteLine(c["hello"]);
        }
    }
    class CollectionLike
    {
        private NameValueCollection collection = new NameValueCollection();
        public String this[String index]
        {
            get { return collection[index]; }
            set { collection[index] = value; }
        }
    }
}

HttpRequest裡面存放所有Request會送來的東西,並沒有這麼簡單的。

另外,HttpRequest的Item[]裡面只定義了get,但是他會從各方面取得Http請求的參數(Form, QueryString, Cookies等等,我沒仔細看)。

我要發表回答

立即登入回答