问题描述
第一个页面<tr><td>用户名:</td><tdclass="style1"><asp:TextBoxID="TextBox1"runat="server"Width="272px"Font-Size="Large"></asp:TextBox></td><td><asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"ControlToValidate="TextBox1"ErrorMessage="用户姓名不能为空"Font-Size="Medium"ForeColor="red"></asp:RequiredFieldValidator></td></tr><tr><td><asp:ButtonID="Button1"runat="server"Text="提交"PostBackUrl="~/Default3.aspx"onclick="Button1_Click"/></td></tr>第二页面CSpublicpartialclassDefault3:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(PreviousPage.IsCrossPagePostBack==true){TextBoxTextBox1=(TextBox)PreviousPage.FindControl("TextBox1");Username.Text+="用户名:"+TextBox1.Text;}}}前台<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default3.aspx.cs"Inherits="Default3"%><%@PreviousPageTypeVirtualPath="~/Default2.aspx"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title></title></head><body><formid="form1"runat="server"><div><caption><fontstyle="display:block;text-align:center"color="DodgerBlue"size="6"face="微软雅黑">信息预览页面</font></caption><tableclass="tb"><tr><td><asp:LabelID="Username"runat="server"Font-Size="Large"></asp:Label></td></tr></div></form></body></html>
解决方案
解决方案二:
第二页面没有TextBox1,用Request接收第一页传过来的值
解决方案三:
什么呀,那个TEXTBOX1在第一个页面里的,这是标准格式啊
解决方案四:
引用2楼bkbkok的回复:
什么呀,那个TEXTBOX1在第一个页面里的,这是标准格式啊
你是用第二个页面获取TEXTBOX1的吧,第二个页面没有TEXTBOX1
解决方案五:
参考参考
解决方案六:
引用3楼slwsss的回复:
Quote: 引用2楼bkbkok的回复:
什么呀,那个TEXTBOX1在第一个页面里的,这是标准格式啊你是用第二个页面获取TEXTBOX1的吧,第二个页面没有TEXTBOX1
不需要有啊,第二个页面只要有个ID为Username的Label就可以了
解决方案七:
测试你的代码,是可以正确运行的:
解决方案八:
引用6楼insus的回复:
测试你的代码,是可以正确运行的:
谢谢这位老师啊!~~会不会是我第一个页面重叠了太多东西的原因?
解决方案九:
引用7楼bkbkok的回复:
Quote: 引用6楼insus的回复:
测试你的代码,是可以正确运行的:谢谢这位老师啊!~~会不会是我第一个页面重叠了太多东西的原因?
老师,我找到错误了!你看见我页面1里BOTTON1里的On_Click属性了吧,里面是这样定义的:protectedvoidButton1_Click(objectsender,EventArgse){Response.Redirect("Default3.aspx");}这样的话按钮1就会既有PostBackUrl="~/Default3.aspx也有Response.Redirect("Default3.aspx");功能,这样就会导致我所说的问题,请问老师这是为什么啊?我是初学的学生,谢谢~~
解决方案十:
你最先帖出来的代码,没有On_Click事件的程序。昨晚Insus.NET测试时,是在On_Click事件保留为空。真正出问题是你使用了Response.Redirect()方法。这个方法与PostBackUrl完全不一样。比如你迷路了,你问路,前者他只会用手指给你方向一指,在那边;而者是,他带你一起目的地。既然你有在html有写asp:ButtonID="Button1"runat="server"Text="提交"PostBackUrl="~/Default13.aspx"了,OnClick事件就不必再写了。如果你想写OnClick事件,建议把html的PostBackUrl="~/Default13.aspx"删除。在OnClick事件就可以写改为:其实两个保留也没有问题,因为当你有写onclick事件,程序均是先跑onclick事件。
解决方案十一:
刚刚再次测试,与查看MSDN,你只能在html写PostBackurl属性,在OnClick事件中不必写任何代码!!!
解决方案十二:
Insus.NET刚刚用了很长一个篇幅写了一个演示,你有这个问题,完全可以从这个演示中,参考到一些知识:任何一位网友均可以前往,看看程序是如何解藕合的。《》