<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>
我需要将名字和姓氏值访问到下一页
您可以使用 PreviousPage 属性。或将值保存到会话
上一页
要查找prevoius页面的控件,您可以使用FindControl函数
TextBox txtFirstName = Page.PreviousPage.FindControl("txtFirstName") as TextBox;
会期
将控件值保存到会话中:
Session["FirstName"] = txtFirstName.Text;
从任何页面,您都可以获取会话值:
string firstName = Session["FirstName"].ToString();
来自通信代码的 Properies:
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;
}
}
}
或使用会话非常方便和简单的方法
或者,您可以在按钮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);
}
您可以将它们放在查询字符串中。
Response.Redirect("~/nextpage.aspx?firstName=" + txtFirstName.Text + "&lastName=" + txtLastName.Text);
您将需要添加验证。
我建议避免使用会话,因为对于这样的事情来说,这可能是矫枉过正,但是,如果您这样做,则必须正确清除会话。