以web形式输入数据,输出到新页面
本文关键字:输出 新页面 数据 输入 web | 更新日期: 2023-09-27 17:59:17
我使用一个简单的<form>
从用户那里收集数据。用户单击一个简单的按钮来输入数据:<input type="submit" name="cmd" value="OK">
。目前,该应用程序做一个简单的回发,显示填写的表单,并在表单下显示结果。
用户现在希望结果转到另一个页面。基本上,他们想要更改一个变量,并在不同的选项卡中比较结果。我的第一个建议是保留帖子,然后使用target="_blank"
添加一个超链接,将结果推到另一个选项卡,但他们不喜欢两次单击:"确定"按钮,然后单击超链接。
是否可以将表单输入的结果发送到另一个页面?
我正在使用ASP.NET用C#编程。
您可以通过c#中的postbackurl属性来实现这一点。这样可以帮助您访问上一页的控件,并在下一页进行输出。您也可以通过使用隐藏字段和post或get方法来实现这一点。这两种选择都很好而且可靠。参考
既然您使用的是ASP.Net,我建议您利用代码隐藏过程的强大功能。除了上述回复之外,您还可以选择在URL
中使用QueryString
,如果您需要的话,可以在重新定向时使用
示例1。使用ASP Button
protected void btnOriginalPage_Click(object sender, EventArgs e)
{
string url = "NextPageViewer.aspx?result=" + resultText;
//You can use JavaScript to perform the re-direct
string cmd = "window.open('" + url + "', '_blank', 'height=500,width=900);";
ScriptManager.RegisterStartupScript(this, this.GetType(), "newWindow", cmd, true);
//or you can use this - which ever you choose
Response.Redirect(url);
}
///On the next page - the one you have been redirected to, perform the following
protected void Page_Load(object sender, EventArgs e)
{
//extract the query string and use it as you please
int result = Convert.ToInt32(Request.QueryString["resultText"]);
}
示例2。使用Session
变量并将数据集/结果存储在用户定义的对象或DTO
中-这只是一个包含setter
s和getter
s的类
在ASP按钮上执行单击事件,除非这次您要执行以下操作:
protected void btnOriginalPage_Click(object sender, EventArgs e)
{
ObjectWithInfo.Result = result;
Session["friendlyName"] = ObjectWithInfo;
Response.Redirect("NextPageViewer.aspx");
}
//On the next page - the one you have been redirected to, perform the following
//The good thing with Session variables is that you can access the session almost anywhere in you application allowing your users to perform the comparison they require.
protected void Page_Load(object sender, EventArgs e)
{
//extract the data from the object to use
int result = ((ObjectWithInfo)(Session["friendlyName"])).Result;
}