Re: [問題] ASP.Net網頁間傳值問題
※ 引述《forkome (初心者)》之銘言:
: 各位前輩好
: 小弟在網頁學習上遇到百思不解的問題
: 通常網頁A要丟值給網頁B,不外呼就是POST跟GET
: 但今天遇到ASP.Net把元件名稱取成一樣,值居然可以互通 @_@
: AAA.aspx 內容如下
: <form id="form1" runat="server" action="BBB.aspx" enableviewstate="False"
: method="post">
: <asp:HiddenField ID="HiddenField1" runat="server" Value="Hello"
: EnableViewState="False" ViewStateMode="Disabled" />
: <asp:Button ID="Button3" runat="server" class="button1" Text="同意" />
: BBB.aspx 內容如下
: <asp:HiddenField ID="HiddenField1" runat="server" EnableViewState="False"
: Visible="False" />
: BBB.aspx.cs 內容如下
: Response.Write("HiddenField1.Value:" + HiddenField1.Value);
: ===========================================================================
: 得到結果是 HiddenField1.Value:Hello
: 在測試期間以為是ViewState搞的鬼,將ViewState關掉,但值還是傳的過去
: 請問有人知道這個是什麼原理嗎?
小弟測試了一下
ASP.Net網頁會將某些控制項 在Form Submit動作時
會將值以POST傳到action頁面
在ASP.Net背後處理中,似乎會對action頁面尋找POST裡的項目名稱
舉例來說
A頁面 <asp:HiddenField ID="TEST1" runat="server" Value="Hello">
B頁面 <asp:TextBox ID="TEST1" runat="server"></asp:TextBox>
在Submit後,B的文字方塊會出現Hello的值
故猜測ASP.Net除了自己用Request.Form取值外,它自己會有一些動作帶入值
但有些就沒有此功能,例如Label控制項就沒辦法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.161.130
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):