如何将一个aspx的值传递给另一个aspx页面

时间:2012-12-06 08:30:47

标签: asp.net

<form id="form1" runat="server">
<div>
    <asp:TextBox ID="txtFirstName" runat="server">
    </asp:TextBox>
    <asp:TextBox ID="txtLastName" runat="server">
    </asp:TextBox>

     <asp:Button ID="Button1" runat="server" Text="RedirectPage" PostBackUrl="~/TestAjaxControls.aspx?FirstName=txtFirstName&LastName=txtLastName"  />
</div>

</form>

我需要访问名字&amp; lastname值到下一页

4 个答案:

答案 0 :(得分:2)

您可以使用PreviousPage属性。或者将值保存到Session

<强> |上一页

要查找prevoius页面的控件,可以使用FindControl函数

TextBox txtFirstName = Page.PreviousPage.FindControl("txtFirstName") as TextBox;

<强>会话

将控制值保存到会话中:

Session["FirstName"] = txtFirstName.Text;

从任何页面都可以获得会话值:

string firstName = Session["FirstName"].ToString();

答案 1 :(得分:0)

公共代码的属性:

public class Employee
{
    string _name;

public string Name
{
get
{
    // Return the actual name if it is not null.
    return this._name ?? string.Empty;
}
set
{
    // Set the employee name field.
    this._name = value;
}
}
}

或使用Session非常方便和轻松

答案 2 :(得分:0)

您可以将它们放在查询字符串中。

Response.Redirect("~/nextpage.aspx?firstName=" + txtFirstName.Text + "&lastName=" + txtLastName.Text);

您需要添加验证。

我建议避免使用会话,因为这可能是类似的事情,如果你这样做,你将必须正确地清除会话。

答案 3 :(得分:0)

或者您可以在按钮OnClick上进行重定向,使用QueryString中的参数,就像您尝试过的那样:

<asp:Button ID="Button1" runat="server" Text="RedirectPage" OnClick="Redirect_Click" />

protected void Redirect_Click(object sender, EventArgs e)
{
    string firstN =txtFirstName.Text;
    string lastN =txtLastName.Text;
    string redirectUrl = String.Format("~/TestAjaxControls.aspx?FirstName={0}&LastName={1}", firstN, lastN);
    Response.Redirect(redirectUrl);
}