作者forkome (初心者)
看板Web_Design
标题Re: [问题] ASP.Net网页间传值问题
时间Fri Apr 26 12:38:42 2013
※ 引述《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