當前位置:編程學習大全網 - 源碼下載 - 列舉ASP.NET 頁面之間傳遞值的幾種方式

列舉ASP.NET 頁面之間傳遞值的幾種方式

1.通過 a 鏈接傳參就是get方式,會把參數顯示在地址欄,不太安全

如果妳不想把傳遞的東西顯示在地址欄,那麽只有通過form的action="psot"跳轉到另外壹個頁面

2.只要這個form有action地址,那麽點擊這個form中的按鈕就會觸發跳轉到這個地址,

此時不管method是get還是post,在這個頁面後臺都可以接受該表單發送的值

get:string id = Request.QueryString["name"];

post:string id2 = Request.Form["name"];

通用:string id3 = Request.Params["name"];

Request.Params是所有post和get傳過來的值的集合,request.params其實是壹個集合,

它依次包括 request.QueryString、request.Form、request.cookies和request.ServerVariable。

3.asp.net頁面可以有多個form,但是只可以有壹個runat="server"的form表單

那麽其他的form表單裏面就不能有runat="server"了,自然這些表單裏面不能有runat="server"的控件了,其中裏面的文本框,按鈕等等就只能通過html來實現了

3.<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

壹個帶有runat="server"的控件才是後臺.cs能夠獲得到的,唯壹標識符是ID,通過ID獲取,大寫可以和html的id區別開來好看(雖然這個ID可以寫成id);asp.net自帶的控件runat="server"必須寫。因為其實TextBox控件在瀏覽器源碼查看中也是input,但是如果不加runat="server"聲明它是asp.net服務器控件,不會被解析成input給瀏覽器認識,然後瀏覽器變成文本框等等展現出來(可能說的不夠對,具體就是這個意思,我這麽理解的)

4.<input type="text" value="html標簽" id="textbox1" name="textBox1"/>

(id和name有意這麽寫的,為了和區分,後面有用)

壹個壹般的html標簽後臺.cs是獲取不了的,此時自能通過前臺來操作比如:javascript,唯壹標識符是id,通過id獲取,不能寫成ID;它可以加runat="server",讓他在後臺跑起來,變成服務器控件,雖然runat="server"的控件ID名稱不能和html元素的id同名,因為Id是前臺頁面獲得它們的唯壹標識符。

當壹個input標簽(或者說html標簽)沒有runat="server"的時候,在.cs接收頁面用name來接收,string text = Request.Params["textBox1"]; //name

有runat="server"的時候,壹旦成為服務器控件了,name就沒有效果了,在後臺就是用id了,必須用id來接收,不然報錯

string text = Request.Params["textbox1"]; //id

那麽有壹個問題,我們知道id是唯壹的,相當於人的身份證號碼,但是name可以相同,相當於人的名字,如果不寫runat="server",頁面有同名的name,然後通過name值來接收,接收會怎麽樣呢?

結果是他們都會被接收,中間用英文半角逗號隔開,形成壹個新的字符串,我們可以通過,分隔符來壹壹分割獲得

5.壹個form默認的action是自己本身的頁面,meoth是post,也就是說,

妳不寫action和method,點擊form中的按鈕就是跳轉到本頁面,而且地址欄沒有"?參數"

那不就是頁面刷新的效果嘛

以上是我剛不久百度和查資料,然後自己測試以後,寫的總結,樓主也可以自己寫些小例子測試和驗證壹下,如有錯誤歡迎指出,大家可以聯系***同學習

  • 上一篇:大灰狼網絡ddos大灰狼
  • 下一篇:微信大轉盤怎麽做
  • copyright 2024編程學習大全網