将参数从控制器发送到aspx页面

本文关键字:aspx 页面 参数 控制器 | 更新日期: 2023-09-27 18:19:58

我需要能够从mvc控制器向ASPX.cs页面发送参数。参数都是字符串,所以我试图使用重定向,但它不会把我带到aspx页面。有什么想法吗?

public void generateReport(string one, string 2)
{ //some code......
    Response.Redirect(string.Concat("~/Reporting/Viewer.aspx?", "ReportName=", ReportName, "&procedureName=", procedure, "&delimParms=", stringParms, "&delimitor=", delim));
}

将参数从控制器发送到aspx页面

我认为你做得不好。既然你根本不知道自己在做什么,我会嘲笑你,给你一个。

看看下面的代码,

Session["param1"] = "Value of the first param.";
Session["param2"] = "Value of the second param.";

这些被称为会话参数。它们会在客户的整个会话期间发送到您的网站上。您可以创建任意数量的会话变量,当用户离开您的网站时,这些变量就会被删除。

您可以使用这些来将字符串从服务器传递给用户。通过这种方式,您可以最小化应用程序的代码,只需在服务器上创建一个新的会话变量,并在您想要使用它的页面上调用它

示例代码

例如,假设一个名为CreateString的页面,然后调用第二个页面上的变量。

CreateString

以下代码,

Session["ReportName"] = "Some Name";
Session["procudureName"] = "Procedure Name";
Session["delimParms"] = "bla bla";
Session["delimitor"] = "bla bla";

在第二页上获取

在第二页上,您可以使用以下代码调用这些变量

if(Session["ReportName"] != null) {
   // make sure it is not null, and is created and has value
   string ReportName = Session["ReportName"];
}

您可以继续您的工作,一直到您必须向下传递的变量。

备注

长URL不是好的用户体验。一些浏览器还限制了URL中字符的使用,这样你的数据在URL中可能会不满意,创建一个会话变量并传递它。它将只对用户可用,并且只有当他使用网站时(仅在会话中)。