ASP.Net两个页面之间为什么无法传值?

目前有两个简单的页面:Default.aspx(表单,用户名和密码)、display.aspx(显示从另一个页面获取的用户名和密码)Default.aspx页面代码:<b... 目前有两个简单的页面:Default.aspx(表单,用户名和密码)、display.aspx(显示从另一个页面获取的用户名和密码)

Default.aspx页面代码:

<body>
<form id="form1" action="display.aspx" method="post" runat="server">
<div>
用户名:<asp:TextBox ID="userTxt" runat="server" MaxLength="10"></asp:TextBox><br />
密码:<asp:TextBox ID="pwdTxt" runat="server" TextMode="Password" MaxLength="6"></asp:TextBox><br />
<br />
<asp:Button ID="Button1" runat="server" Text="Login" OnClick="Button1_Click" />
</div>
</form>
</body>

display.aspx.cs代码:
public partial class display : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string userName = "";
string userPassword = "";

userName = Request["userTxt"].ToString();
userPassword = Request["pwdTxt"].ToString();

Response.Write(userName + "<br>");
Response.Write(userPassword);
}
}

运行的时候报错,这是为什么?
报错信息截图
展开
 我来答 举报
NA009
2012-02-01 · TA获得超过579个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:267万
展开全部
我以前也碰到过这个问题 现在给出 原因 :我的问题是 用了jquey $ajax 导致了 一次提交了两个form的问题 ($ajax 也是一次form 提交 )

希望对你有帮助

这个问题的根本原因 是页面 无法解码 viewstate
更多追问追答
追问
但是我的Default.aspx页面中只有一个form,没使用Jquery $ajax 
以前使用ASP的时候从来没有出现过此类问题,换成ASP.Net反而感觉出现问题多了,这是什么原因呢?我有时甚至想完全照搬ASP的方法算了,但觉得这样的话,我学习、使用ASP.Net的目的又在哪里呢?
追答
先说说你的问题吧  
通常的做法是这样的

无标题页

用户名:
密 码:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace WebApp
{
public partial class postdate : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
string userName = "";
string userPassword = "";

userName = Request["userTxt"].ToString();
userPassword = Request["pwdTxt"].ToString();

Response.Write(userName + "");
Response.Write(userPassword);
//在这里进行处理事件(例如登陆)
}
}
}
axislover
2012-01-31 · TA获得超过148个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:171万
展开全部
如果需要传值到另一个页面 不需要使用服务器控件的啊
<form id="form1" action="display.aspx" method="post">
<div>
用户名:<input type="text" ID="userTxt" MaxLength="10" /><br />
密码:<input type="password" ID="pwdTxt" MaxLength="6" /><br />
<br />
<input type="submit" value="提交" name="submit" id="submit">
</div>
</form>
追问
这样的写法不就和ASP一模一样了吗?
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
文走520
2012-01-31 · TA获得超过525个赞
知道小有建树答主
回答量:267
采纳率:50%
帮助的人:172万
展开全部
我晕,虽然我不知道你想做什么,但是,.NET不需要像ASP那样传值到其它页面处理吧?如果非要这样写,那直接用回ASP好了,这样做糟蹋了.NET。直接在本页面的cs代码处添加处理方法就是了。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论(1) 举报 收起
yangaishuer
2012-01-31 · TA获得超过398个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:222万
展开全部
我想真正的问题你可能没贴出来。至少我在这上面看不出问题。POST 传值用Request.Form["Name"] 接收。你可以看看这段程序生成的HTML代码是什么。别被控件所迷惑了。搞的什么都不懂!
追问
用Request.Form还是报错,在Default.aspx.cs中我没有添加任何代码,因为这个页面只是用作表单,接收的数值我的想法是全部交给display.aspx获取并显示,但目前diplay.aspx无法获取到
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
沃客吧
2012-01-31 · TA获得超过521个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:282万
展开全部
问题在于,服务端控件的ID和客户端形成的name有时候是不一致的,你要获取传过来的参数,要看客户端生成html之后的标签里面name是什么,而不是看后台控件的ID是什么,两者会不一样的。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论(1) 举报 收起
匿名用户
2012-01-31
展开全部
userName = Session["userTxt"].ToString();
userPassword =Session["pwdTxt"].ToString();
放入session传过去
追问
晕,还是不行,我倒觉得不是用Session和Request的问题
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论(1) 举报 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式