该页面有个表单,代码如下:
<form action='result.aspx' method='post'>
<input type='text' id="keyword" value="奇怪" />
</form>
这个表单是提交到另外的结果页面result.aspx,那请问我如何在result.aspx中的Load事件获取那表单中的keyword的值呢?
25 个解决方案
#1
自己顶。。
#2
mark up 帮顶
你搜下有没有request.form[""]
你搜下有没有request.form[""]
#3
在Result.aspx页面中加上<%@ PreviousPageType VirtualPath="~/Default.aspx" %>指令
search.aspx页面中的button设置PostBackUrl<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx" Text="Button" />
然后在Result.aspx的后台Load事件中获得传过来的值TextBox tb=(TextBox)Page.PreviousPage.FindControl("TextBox1");
还有,你的Search.aspx页面好像不怎么对吧,aspx的页面的form是有runat=“server”的
search.aspx页面中的button设置PostBackUrl<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx" Text="Button" />
然后在Result.aspx的后台Load事件中获得传过来的值TextBox tb=(TextBox)Page.PreviousPage.FindControl("TextBox1");
还有,你的Search.aspx页面好像不怎么对吧,aspx的页面的form是有runat=“server”的
#4
不好意思,按照你的环境,这句指令<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
应该换成<%@ PreviousPageType VirtualPath="~/search.aspx" %>
应该换成<%@ PreviousPageType VirtualPath="~/search.aspx" %>
#5
或者你用Response.Redirect()来跳转吧
#6
如果是服务器控件则可以直接使用id.Text,
客户端空间用 request.Form["id"]取不到值
客户端空间用 request.Form["id"]取不到值
#7
哈哈 不好意思,上面错了。用seesion算了!
#8
request.form[""]
或者 server.transfer
或者 server.transfer
#9
刚才试了你的方法。。但还是不行
search.aspx页面代码如下:
<form id="form1" runat="server">
<input type="text" class="os3" id="keyword" value="输入" />
<asp:TextBox ID="keyword2" Text="输入" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/new_cars/result.aspx" Text="Button" />
</form>
result.aspx页面Load事件代码如下:
TextBox ss = (TextBox)Page.PreviousPage.FindControl("keyword2");
#10
补充:result.aspx页面已经添加了<%@ PreviousPageType VirtualPath="~/new_cars/search.aspx" %> 代码
#11
顶
#12
为你的input加个name,
<input type='text' id="keyword" name="keyword" value="奇怪" />
然后在result.aspx中用Request["keyword"]试试
#13
request.form[""]
#14
12楼:
为你的input加个name,
<input type='text' id="keyword" name="keyword" value="奇怪" />
然后在result.aspx中用Request["keyword"]试试
试了,还是不行。。
为你的input加个name,
<input type='text' id="keyword" name="keyword" value="奇怪" />
然后在result.aspx中用Request["keyword"]试试
试了,还是不行。。
#15
这种方法可以。。。呵呵。。刚才测试没问题了。。
#16
真让你郁闷死,你说一下怎么不行的啊,我测试过了,才把代码发给你的,你竟然说不行。真是没救了。
#17
我自己新建了两个页面,然后进行了简单的测试,发现你的方法是可以的。。
但是,当我按照你的方法,把那些代码放进了一个既包含MasterPage又包含UseControl的页面时,你的方法就找不到该控件了。
#18
加上name值,
然后Request.Form[name] 应该能得到
然后Request.Form[name] 应该能得到
#19
这个才是王道。
建议LZ看下Request类。
#20
顶 又学到了一招
#21
给你说 你在第一个页面上 声明一个公共属性 属性指定到你要获得的控件
Public TextBox TB1
{
get
{
return TextBox1;
}
}
PreviousPage.属性名 获得要获得的值,这样就不需要FindControl了,这样就没有你说的问题了。
Public TextBox TB1
{
get
{
return TextBox1;
}
}
PreviousPage.属性名 获得要获得的值,这样就不需要FindControl了,这样就没有你说的问题了。
#22
Request.Form[...]
#23
ASP.NET会让一些.NET初级用户忘记http的原本
#24
能否详细点?
#25
两个最基本的HTTP交互是
GET, POST
GET请求的BODY是不带参数的
POST请求的BODY可带参数, ASP.NET里面拿这个参数就用Request.Form[...]
GET, POST
GET请求的BODY是不带参数的
POST请求的BODY可带参数, ASP.NET里面拿这个参数就用Request.Form[...]
#1
自己顶。。
#2
mark up 帮顶
你搜下有没有request.form[""]
你搜下有没有request.form[""]
#3
在Result.aspx页面中加上<%@ PreviousPageType VirtualPath="~/Default.aspx" %>指令
search.aspx页面中的button设置PostBackUrl<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx" Text="Button" />
然后在Result.aspx的后台Load事件中获得传过来的值TextBox tb=(TextBox)Page.PreviousPage.FindControl("TextBox1");
还有,你的Search.aspx页面好像不怎么对吧,aspx的页面的form是有runat=“server”的
search.aspx页面中的button设置PostBackUrl<asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx" Text="Button" />
然后在Result.aspx的后台Load事件中获得传过来的值TextBox tb=(TextBox)Page.PreviousPage.FindControl("TextBox1");
还有,你的Search.aspx页面好像不怎么对吧,aspx的页面的form是有runat=“server”的
#4
不好意思,按照你的环境,这句指令<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
应该换成<%@ PreviousPageType VirtualPath="~/search.aspx" %>
应该换成<%@ PreviousPageType VirtualPath="~/search.aspx" %>
#5
或者你用Response.Redirect()来跳转吧
#6
如果是服务器控件则可以直接使用id.Text,
客户端空间用 request.Form["id"]取不到值
客户端空间用 request.Form["id"]取不到值
#7
哈哈 不好意思,上面错了。用seesion算了!
#8
request.form[""]
或者 server.transfer
或者 server.transfer
#9
刚才试了你的方法。。但还是不行
search.aspx页面代码如下:
<form id="form1" runat="server">
<input type="text" class="os3" id="keyword" value="输入" />
<asp:TextBox ID="keyword2" Text="输入" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/new_cars/result.aspx" Text="Button" />
</form>
result.aspx页面Load事件代码如下:
TextBox ss = (TextBox)Page.PreviousPage.FindControl("keyword2");
#10
补充:result.aspx页面已经添加了<%@ PreviousPageType VirtualPath="~/new_cars/search.aspx" %> 代码
#11
顶
#12
为你的input加个name,
<input type='text' id="keyword" name="keyword" value="奇怪" />
然后在result.aspx中用Request["keyword"]试试
#13
request.form[""]
#14
12楼:
为你的input加个name,
<input type='text' id="keyword" name="keyword" value="奇怪" />
然后在result.aspx中用Request["keyword"]试试
试了,还是不行。。
为你的input加个name,
<input type='text' id="keyword" name="keyword" value="奇怪" />
然后在result.aspx中用Request["keyword"]试试
试了,还是不行。。
#15
这种方法可以。。。呵呵。。刚才测试没问题了。。
#16
真让你郁闷死,你说一下怎么不行的啊,我测试过了,才把代码发给你的,你竟然说不行。真是没救了。
#17
我自己新建了两个页面,然后进行了简单的测试,发现你的方法是可以的。。
但是,当我按照你的方法,把那些代码放进了一个既包含MasterPage又包含UseControl的页面时,你的方法就找不到该控件了。
#18
加上name值,
然后Request.Form[name] 应该能得到
然后Request.Form[name] 应该能得到
#19
这个才是王道。
建议LZ看下Request类。
#20
顶 又学到了一招
#21
给你说 你在第一个页面上 声明一个公共属性 属性指定到你要获得的控件
Public TextBox TB1
{
get
{
return TextBox1;
}
}
PreviousPage.属性名 获得要获得的值,这样就不需要FindControl了,这样就没有你说的问题了。
Public TextBox TB1
{
get
{
return TextBox1;
}
}
PreviousPage.属性名 获得要获得的值,这样就不需要FindControl了,这样就没有你说的问题了。
#22
Request.Form[...]
#23
ASP.NET会让一些.NET初级用户忘记http的原本
#24
能否详细点?
#25
两个最基本的HTTP交互是
GET, POST
GET请求的BODY是不带参数的
POST请求的BODY可带参数, ASP.NET里面拿这个参数就用Request.Form[...]
GET, POST
GET请求的BODY是不带参数的
POST请求的BODY可带参数, ASP.NET里面拿这个参数就用Request.Form[...]