响应重定向未正确将变量发送到第二种形式
Response redirect not properly sending a variable to second form
我正在使用 Response.Redirect 将信息发送到第二个表单,其中大部分是在输入字段中捕获的文本。
发送这些代码很简单。
Response.Redirect("secondwebform.aspx?Adress=" + adress.Value);
而变量如下
Response.Redirect("secondwebform.aspx?StringToSend");
在我的第二个 webform.aspx.cs 中,我有捕获页面加载数据并自动将其输入输入字段的代码。
adress.Value = Request.QueryString["Adress"];
尝试使用字符串变量并将其输入到输入字段或文本框中时出现问题。
我的代码如下:
string StringToUse = Request.QueryString["StringToSend"];
TextBox1.Text = StringtoUse;
我研究了这个案例的问题并使用了正确答案的代码,但在我的情况下,字符串变量不起作用。
我们通常使用QueryString来传递ID或非常小的数据。
您不想在查询字符串中传递地址,因为它可能包含特殊字符,您需要输入无效的 URL。
对于您的场景,您希望使用 SessionState。例如,
初一
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="FirstForm.aspx.cs" Inherits="DemoWebForm.FirstForm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script runat="server">
protected void ForwardButton_Click(object sender, EventArgs e)
{
Session["Name"] = NameTextBox.Text;
Response.Redirect("~/SecondForm.aspx");
}
</script>
<form id="form1" runat="server">
<h1>First Form</h1>
<asp:TextBox runat="server" ID="NameTextBox" />
<asp:Button ID="ForwardButton" runat="server"
OnClick="ForwardButton_Click" Text="Forward Name to Second Form" />
</form>
</body>
</html>
中学
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="SecondForm.aspx.cs" Inherits="DemoWebForm.SecondForm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
NameLabel.Text = Session["Name"] as string;
}
</script>
<form id="form1" runat="server">
<h1>Second Form</h1>
<asp:Label runat="server" ID="NameLabel" />
</form>
</body>
</html>
我正在使用 Response.Redirect 将信息发送到第二个表单,其中大部分是在输入字段中捕获的文本。
发送这些代码很简单。
Response.Redirect("secondwebform.aspx?Adress=" + adress.Value);
而变量如下
Response.Redirect("secondwebform.aspx?StringToSend");
在我的第二个 webform.aspx.cs 中,我有捕获页面加载数据并自动将其输入输入字段的代码。
adress.Value = Request.QueryString["Adress"];
尝试使用字符串变量并将其输入到输入字段或文本框中时出现问题。
我的代码如下:
string StringToUse = Request.QueryString["StringToSend"];
TextBox1.Text = StringtoUse;
我研究了这个案例的问题并使用了正确答案的代码,但在我的情况下,字符串变量不起作用。
我们通常使用QueryString来传递ID或非常小的数据。
您不想在查询字符串中传递地址,因为它可能包含特殊字符,您需要输入无效的 URL。
对于您的场景,您希望使用 SessionState。例如,
初一
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="FirstForm.aspx.cs" Inherits="DemoWebForm.FirstForm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script runat="server">
protected void ForwardButton_Click(object sender, EventArgs e)
{
Session["Name"] = NameTextBox.Text;
Response.Redirect("~/SecondForm.aspx");
}
</script>
<form id="form1" runat="server">
<h1>First Form</h1>
<asp:TextBox runat="server" ID="NameTextBox" />
<asp:Button ID="ForwardButton" runat="server"
OnClick="ForwardButton_Click" Text="Forward Name to Second Form" />
</form>
</body>
</html>
中学
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="SecondForm.aspx.cs" Inherits="DemoWebForm.SecondForm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
NameLabel.Text = Session["Name"] as string;
}
</script>
<form id="form1" runat="server">
<h1>Second Form</h1>
<asp:Label runat="server" ID="NameLabel" />
</form>
</body>
</html>