以web形式输入数据,输出到新页面

本文关键字:输出 新页面 数据 输入 web | 更新日期: 2023-09-27 17:59:17

我使用一个简单的<form>从用户那里收集数据。用户单击一个简单的按钮来输入数据:<input type="submit" name="cmd" value="OK">。目前,该应用程序做一个简单的回发,显示填写的表单,并在表单下显示结果。

用户现在希望结果转到另一个页面。基本上,他们想要更改一个变量,并在不同的选项卡中比较结果。我的第一个建议是保留帖子,然后使用target="_blank"添加一个超链接,将结果推到另一个选项卡,但他们不喜欢两次单击:"确定"按钮,然后单击超链接。

是否可以将表单输入的结果发送到另一个页面?

我正在使用ASP.NET用C#编程。

以web形式输入数据,输出到新页面

您可以通过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;
    }