我正在尝试从主asp页面中检索文本框值。我要求用户在各自的文本框中输入他的姓名。然后我点击一个提交按钮,按钮将我带到另一个名为DefaultPage.aspx的网页...按钮确实将我带到新页面,但文本框值不会在新页面上发送或显示。
这是我的代码:
按钮的ASP代码:
asp:Button ID="Submit" runat="server" Text="Button" OnClick="Submit_Click"
这是我的主页代码:
protected void Submit_Click(object sender, EventArgs e)
{
Response.Redirect("DefaultDetails.aspx?FirstName=" + txtFirstName.Text + "&LastName=" + txtLastName.Text);
}
这是我的默认/新页面代码:
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
string firstName = Request.QueryString["FirstName"];
string lastName = Request.QueryString["LastName"];
}
}
以下是我的2个文本框的代码:
<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
当我在第一个字符串行插入一个break(即新页面上的firstName)时,firstName和LastName中的值等于null。
答案 0 :(得分:1)
一个新页面,删除previous_page条件并检查您是否看到值的天气。 这个previousPage变量在哪里设置
protected void Page_Load(object sender, EventArgs e)
{
string firstName = Request.QueryString["FirstName"];
string lastName = Request.QueryString["LastName"];
}
答案 1 :(得分:0)
您应该使用:
Server.Transfer("DefaultDetails.aspx?FirstName=" + txtFirstName.Text + "&LastName=" + txtLastName.Text);
来自Page.PreviousPage Property文章:
使用Transfer方法或使用跨页面发布进行传输时 从一个ASP.NET页面处理到另一个ASP.NET页面,即原始页面 包含可能需要的请求信息 目的地页面。您可以使用PreviousPage属性来访问它 信息。
如果由于直接请求而呈现当前页面 (不是从另一页转移或交叉发布),PreviousPage 属性包含 null 。
实际上,如果您要转移请求,以下内容就足够了:
Server.Transfer("DefaultDetails.aspx");
在另一页中,您可以获得如下值:
if (PreviousPage != null)
{
string firstName, lastName;
var txtFirstName = (TextBox)PreviousPage.FindControl("txtFirstName");
var txtLastName = (TextBox)PreviousPage.FindControl("txtLastName");
if (txtFirstName != null)
firstName = txtFirstName.Text;
if (txtLastName != null)
lastName = txtLastName.Text;
}
答案 2 :(得分:0)
你可以试试这个
string Ln=Request["txtFirstName"].toString();
string Fn=Request["txtLastName"].toString();
答案 3 :(得分:0)
原因是PreviousPage为null。因此,您的firstName和lastName将不会被初始化。
“当您使用Transfer方法或使用跨页面发布将处理从一个ASP.NET页面转移到另一个ASP.NET页面时,原始页面包含目标页面可能需要的请求信息。您可以使用PreviousPage属性来访问该信息。 如果由于直接请求(而不是从另一个页面传输或交叉发布)呈现当前页面,则PreviousPage属性包含null。“