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

时间:2014-08-28 19:23:49

标签: c# asp.net asp.net-mvc

我需要能够从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));
}

1 个答案:

答案 0 :(得分:0)

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

查看以下代码,

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内部不满意,创建会话变量并传递它。它仅供用户使用,并且仅在他使用网站时(仅在会话内)。